
Excelマクロ VBAに関して、ご教示お願いします。
シート1の列Aに「文字列a」~「文字列z」が入力してあるとします。
シート2の列Bにシート1の列Aに入力してある文字列と同じ文字列が
入力してあるのですが、順は不同となります。
この時に、シート1のA列の各文字列にハイパーリンクを設定し、
シート2の同じ文字列へジャンプさせる方法についてご教示お願いします。
シート1 シート2
A B
---------------------------------------
a d
b a
c b
d c
ご回答いただけますと大変ありがたいです。
よろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは。
すでに回答がついていますが、もう一度、考えなおしてみてください。
>シート2の同じ文字列へジャンプさせる方法についてご教示お願いします。
VBAだったら、ハイパーリンクを設定しなくても飛べますが・・・。
ジャンプさせる方法。
'シートタブを右クリックして、コードの表示で貼り付ける
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Variant
Dim sh2 As Worksheet
Set sh2 = Worksheets("Sheet2")
Cancel = True
If Target.Column <> 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
i = Application.Match(Target.Value, sh2.Columns(2), 0)
If IsNumeric(i) Then
Application.Goto sh2.Cells(i, 2)
Else
MsgBox "該当するセルは見つかりません。", vbExclamation
End If
End Sub
'//
-------------------------
'ハイパーリンクを取り付ける
Sub Main()
Dim sh1 As Worksheet
Dim rng As Range
Dim r1 As Range
Set sh1 = Worksheets("Sheet1")
With sh1
Set r1 = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
End With
For Each rng In r1
If rng.Value <> "" Then
Call makeHyperLinks(rng, sh1)
End If
Next rng
End Sub
Sub makeHyperLinks(rng As Range, sh As Worksheet)
Dim sh2 As Worksheet
Dim c As Variant
Set sh2 = Worksheets("Sheet2")
Set c = sh2.Columns(2).Find(rng.Value, , xlValues, xlWhole, , False)
If Not c Is Nothing Then
sh.Hyperlinks.Add rng, "", sh2.Name & "!" & c.Address(0, 0)
End If
End Sub
'//

No.1
- 回答日時:
シート名は、sheet1、sheet2としました。
このサイトは字下げが出来ない(前詰になってしまう)為、先行するブランクを_で書いています。
_を半角ブランクに置き換えて下さい。
Sub WK()
____Dim CNT1 As Long
____Dim END1 As Long
____Dim END2 As Long
____Dim FoundCell As Variant
____Dim 位置 As Variant
____Dim 検索値 As Variant
____Dim Sh1 As Worksheet
____Dim Sh2 As Worksheet
____Set Sh1 = Worksheets("sheet1")
____Set Sh2 = Worksheets("sheet2")
____END1 = Sh1.Range("A1").End(xlDown).Row '全体行数取得
____END2 = Sh2.Range("A1").End(xlDown).Row '全体行数取得
____For CNT1 = 2 To END1 '行数分実行
_____検索値 = Sh1.Range("A" & CNT1)
_____Set FoundCell = Sh2.Range("A1:A" & END2).Find(検索値)
______If FoundCell Is Nothing Then
______Else 'ハイパーリンク設定
_______位置 = FoundCell.Address
_______Sh1.Range("A" & CNT1).Hyperlinks.Add Anchor:=Sh1.Range("A" & CNT1), Address:="", SubAddress:="sheet2!" & 位置
_____End If
____Next CNT1
Application.StatusBar = False
End Sub
ハイパーリンク一括削除は以下を実行して下さい
Sh1.Hyperlinks.Delete
または
Worksheets("sheet1").Hyperlinks.Delete
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) フォルダ内のファイル全てに対して、シート名・ファイル名を変更する方法(マクロ VBA) 2 2022/04/02 10:56
- Visual Basic(VBA) VBA B列にある前から10文字のみ表示 3 2023/08/07 11:24
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- Excel(エクセル) Excelの文字列を転記したいのですが。 2 2022/09/30 12:09
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
Excel VBAで自動的にハイパーリンクを設定する方法について教えて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
別のシートから値を取得するとき
-
特定の文字を含むシートだけマ...
-
excelのマクロで該当処理できな...
-
userFormに貼り付けたLabelを変...
-
Worksheet_Changeの内容を標準...
-
シートが保護されている状態で...
-
実行時エラー1004「Select メソ...
-
VBA 最終行まで数式をコピーする
-
Excel VBA リンク先をシート...
-
IFステートの中にWithステート...
-
【Excel VBA】Worksheets().Act...
-
Excel VBA マクロ 先頭行の固定...
-
XL:BeforeDoubleClickが動かない
-
ExcelVBA シート名を複数セルか...
-
VBAで指定シート以外の選択
-
VBA 改行コードの取り方
-
VBA 存在しないシートを選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
【ExcelVBA】全シートのセルの...
-
別のシートから値を取得するとき
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
ブック名、シート名を他のモジ...
-
【VBA】シート名に特定文字が入...
-
シートが保護されている状態で...
-
VBAで指定シート以外の選択
-
エクセルのシート名変更で重複...
-
XL:BeforeDoubleClickが動かない
-
VBA 存在しないシートを選...
-
IFステートの中にWithステート...
-
実行時エラー'1004': WorkSheet...
-
Excel VBA リンク先をシート...
-
エクセルVBA Ifでシート名が合...
-
ExcelVBA:複数の特定のグラフ...
-
ExcelのVBAのマクロで他のシー...
-
実行時エラー1004「Select メソ...
おすすめ情報