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.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
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
'//
お探しの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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
同じ作業を複数のシートに実行...
-
ユーザーフォームに入力したデ...
-
XL:BeforeDoubleClickが動かない
-
ブック名、シート名を他のモジ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
【Excel VBA】Worksheets().Act...
-
VBA 入力月で該当シートを選択...
-
実行時エラー'1004': WorkSheet...
-
VBAで大量のファイルをシート名...
-
実行時エラー1004「Select メソ...
-
VBA 検索して一致したセル...
-
Excelマクロのエラーを解決した...
-
IFステートの中にWithステート...
-
エクセルのマクロでアクティブ...
-
VBAで指定シート以外の選択
-
【VBA】色のついたシート名を取得
-
セルの値によって、シート見出...
-
Excel VBA マクロ 先頭行の固定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ExcelVBA シート名を複数セルか...
-
XL:BeforeDoubleClickが動かない
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
ExcelのVBAのマクロで他のシー...
-
【Excel VBA】Worksheets().Act...
-
エクセルのシート名変更で重複...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
Excel マクロについての相談
-
VBA 検索して一致したセル...
おすすめ情報