- ベストアンサー
Excelでハイパーリンクの一括置換方法を教えてください
- Excel2002を使用している際、ハイパーリンクの一括置換用マクロ作成で問題が発生しました。
- 具体的には、C列の1行目から最終行までのハイパーリンクのみを置き換えたかったのですが、他の列まで一括置換してしまう問題が発生しました。
- C列だけを一括置換する方法について、ご教示いただけないでしょうか。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- VBA シート内ハイパーリンク置換がうまくいかない
お世話になります。 今、エクセルシートのセルにあるハイパーリンクの置換をVBAで行おうとしています。 ファイルサーバの移設に伴い、ファイルサーバ内に保存されているエクセルファイル内のハイパーリンクの一部置換を実施すべく、下記のとおり作ってみましたがうまく置換してくれません。。 置換したいエクセルファイルはlist_TM.txtにフルパスでリスト化しており、ファイルを開く→ハイパーリンクがあれば置換→上書き保存して閉じる の繰り返しを実行しています。 下記を実行したあと、実際にファイルを開いて置換された結果を確認すると、\\server1\tantou\Datasave\sample.xls → C:\Datasave\sample.xlsとなってしまっており、当方が所望する\\server2\kyoyu\tantou\Share\Datasave\sample.xlsになっていませんでした。原因がよくわからず質問させて頂いた次第です。 なお途中でTargetRowとTargetColumnを挟んでいますが、この2行はハイパーリンクがある行と列をちゃんと拾ってくれているかどうか確認するために入れたので、無視してい頂いていいかと思います。 お力添えの程、宜しくお願い致します。 Sub Link_OKIKAE() Dim i As Long Dim buf As String Dim AWBN As String Dim HL As Hyperlink Open "C:\temp\test\list_TM.txt" For Input As #1 Do Until EOF(1) Line Input #1, buf Workbooks.Open buf AWBN = ActiveWorkbook.Name For i = 1 To Worksheets.Count Sheets(i).Activate For Each HL In ActiveSheet.Hyperlinks TargetRow = HL.Range.Row TargetColumn = HL.Range.Column HL.Address = Replace(HL.Address, "\\server1\tantou", "\\server2\kyoyu\tantou\Share") Next HL Next i Workbooks(AWBN).Save Workbooks(AWBN).Close Loop Close #1 End Sub
- ベストアンサー
- Excel(エクセル)
- ハイパーリンクをコピペしてください
マクロで選択した各列の5行目以降に単独または連続コピペしたハイパーリンク付き文字列を下記のマクロにて第二階層分を上から順番にそのおのおの同じ行の隣の列にテキストファイルにてコピペ(セル内32767文字制限以下)してから置き換えで「*)は、」と「。*」で文字列を省略してください。 Sub HyperlinkFollowTest() On Error Resume Next Dim h As Hyperlink Dim sht As Worksheet Set sht = ActiveSheet '// シートの全ハイパーリンクをループ For Each h In sht.Hyperlinks '// ハイパーリンクを実行 Call h.Follow Next End Sub
- ベストアンサー
- Excel(エクセル)
- エクセル 関数式内の文字列置換
エクセルで 関数式内に入力されている文字列を置換する事は可能でしょうか。 具体的には、C列の1行目~数百行に =hyperlink("\\○○○\×××\△△△",d1)と入っている式で、×××を◎◎◎に一括で置換したいのですが。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA 行列操作
どなたか教えてください。 下記の様にA1からH5までの範囲に値がある行とない行があります。 空白セルを無視しA10に行列を操作し(行列入れ替え?)、さらに上詰め でコピーしたいのです(上にある行から列順に)。 よろしくお願いします。 例です A B C D E F G H 1 2 aaa bbb 3 ccc ddd eee fff ggg 4 5 hhh ~ 10 aaa 11 bbb 12 ccc 13 ddd 14 eee 15 fff 16 ggg 17 hhh
- ベストアンサー
- Visual Basic
- Excelシート上のハイパーリンクの一括削除
Excelシート上にあるハイパーリンクの一括削除はできるのでしょうか? 現在、ある列にハイパーリンクされたデータがあります。 これを、列全体を一括でリンク解除したいのです。 セル毎に、右クリック→ハイパーリンク(H)→ハイパーリンクの削除 で一つずつ解除出来ますが、これを列単位で一括して行いたいです。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 条件を指定しての置換
Perlでの文字置換の質問です。以下のように文字列があった場合に +AAA a01 name +BBB b01 name +CCC c01 name +DDD d01 name ・ ・ +CCCと+DDDの間にあるnameの文字のみaddressに置換したい時は どのようにPerlで記述したらよろしいでしょうか。 全てのnameがaddressになってしまい困っています。 よろしくお願いします。 完成形↓ +AAA a01 name +BBB b01 name +CCC c01 address +DDD d01 name
- 締切済み
- Perl
- テキスト処理のシェルプログラム
UNIXシェルもしくはPerlでテキスト処理のシェルスクリプト を作成したいのですがご教授お願いします 1000行あるテキストファイルを 2行単位で区切り2行単位で横一列へ置換しテキストへ出力したいのですが 例 処理前 aaa bbb ccc ddd eee fff 処理後 aaa,ccc,eee bbb,ddd,fff ご教授よろしくお願いします
- 締切済み
- Perl
- Excelの関数に詳しい方、お願いします。
わかりづらい説明かもしれませんが、よろしくお願いします。 例として、 AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF ・ ・ ・ といった文字列がエクセルの先頭列A1~A100までずらりと並んでいるとします。 各アルファベットには任意の数字(日付など)が入るとして、この並んだ百件のデータからCCCの部分の最大値を表示するための適切な関数があれば教えていただけないでしょうか? 現在少々急いでいるため言葉足らずで申し訳ありませんが、よろしくお願いいたします.
- ベストアンサー
- オフィス系ソフト
- 【アクセス】ハイパーリンク アドレスと表示文字列のどちらも置換したい
テーブル1のフィールド「アドレス」をハイパーリンク型にし、 レコードに 表示文字列:C:\Users アドレス:C:\Users と入れています。 ここで 置換と検索ダイアログを呼び出して 検索する文字列:C:\ 置換後の文字列:D:\ にしてすべて置換をおしても 表示文字列しか置換されません。 表示文字列もアドレスも同じように置換するにはどうすればいいのでしょうか? よろしくお願い致します。(当方アクセス2003です)
- ベストアンサー
- オフィス系ソフト
- エクセル2007 ハイパーリンクについて
シート名は4月だとした時 A B C D E F G H I J K L M 6 1 田中 港区 1000 7 2 佐藤 品川区 2000 8 3 高橋 江戸川区 3000 9 4 井上 荒川区 4000 10 5 山田 練馬区 と行も列も沢山ある表とします A列には1~順番に数字が入ってますので検索の基準にしたい。 表が大きいので A列を基準としてvlookup関数で検索しジャンプする式を作成したいのですが うまく出来ません 検索する数字をH2にいれた時H3をクリックするとその行に飛ぶ関数を教えて下さい。 =hyperlink(vlookup,h2,a1:a8000,2,false) と入力してもエラーになります。 確かに右クリックでハイパーリンク作成でA1とした場合(book1-sheet1!A1)と 直接入力 =hyperlink("sheet1!A1) では表示される数式が違います 上記数式では駄目と分かりますがどうすればよいのか私の知識では無理です どなたか教えて下さい
- ベストアンサー
- その他MS Office製品
お礼
こんにちは、 ありがとうございます。 >列のコピーではなくて、Hyperlink 自体のコピーではないでしょうか。 >コピーすると、オブジェクト自身が、配列を作るので、実際のセルとは >一致しなくなっています。 > >Excel 2002 のHyperlinksの配列状態では、セル位置とは連動していないので、 >そのままでではマクロでの置換は不可能だという結果に至りました。 この『実際のセルとは一致しない』というところでつまづいていたのですね。 そうすると、私の頭の中を変えないとダメなようです。 A~E列×5行でデータを作成したマクロチェック用の環境で、A列をB~E列にコピーしてからファイルを保存して再度開くとマクロで置換が出来るところまでは先の補足のとおりですが、それでは若干面倒ですので、別起動のブック・別シートの活用など、もうちょっと頑張ってみます。
補足
補足では無いですが、解決策を記す為にこの欄を使用させて戴きます。 sheet1のA列にハイパーリンク付きテキストがあるとして マクロで ・sheet1へ移動~A列のコピー~sheet2へ移動~A列へコピー ・sheet1へ移動~A列のコピー~sheet2へ移動~B列へコピー ・sheet1へ移動~A列のコピー~sheet2へ移動~C列へコピー ・sheet1へ移動~A列のコピー~sheet2へ移動~D列へコピー ・sheet1へ移動~A列のコピー~sheet2へ移動~E列へコピー として、sheet2のC列に対してハイパーリンクの一括置換を行うと、他の列に影響せず、C列だけ置換してくれました。 同じシート内のコピーはNGでしたが、他のシートへのコピーでは期待通りの結果になってくれました。