Excel 2010 を使用して、各行の G 列にハイパーリンクを作成したいと思います。
この列には、ハイパーリンクの表示テキスト (またはフレンドリ名) として使用される情報が既に保持されています。
ハイパーリンクが正しい場所を指すようにするには、列 M が保持する番号が必要です。一致する情報は常に同じ行にあります。
基本的に、これは特定の行の 2 つのセルに含まれる 2 ビットの情報をマージしたものにすぎません。
これは私が始めたものです:
Sub Macro2()
'
' Macro2 Macro
'
Dim Name As String
Dim Branch As String
' Combination of two rows
Dim CombineRow As Range
Dim cell As Range
Dim row As Range
Dim Branch_ID As Range
Set Branch_ID = Worksheets("Default").Range("M2")
Set CombineRow = Range("G2:M2")
For Each row In CombineRow.Rows
For Each cell In row.Cells
Branch = Branch_ID.Cells.Value
Name = Name_ID.Cells.Value
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"https://www.example.com/", SubAddress:= _
"something:", _
TextToDisplay:=Name
Next cell
' relative one row down
Set Branch_ID = Branch_ID.Offset(1, 0)
Set Name_ID = Branch_ID.Offset(1, 0)
Next row
End Sub
わからない600021610
のは、ハイパーリンクの末尾に列 M (例: ) の値を付ける方法です。
私はここで正しい道を進んでいますか?
編集:
私が今持っているのはこれです:
Sub Macro2()
'
' Macro2 Macro
'
Dim Branch As String
Dim Name As String
' combine two rows
Dim CombineRow As Range
Dim cell As Range
Dim row As Range
Dim Branch_ID As Range
Dim Name_ID As Range
Set Branch_ID = Worksheets("Default").Range("M2")
Set Name_ID = Worksheets("Default").Range("G2")
Set CombineRow = Range("G2:M2")
For Each row In CombineRow.Rows
For Each cell In row.Cells
Branch = Branch_ID.Cells.Value
Name = Name_ID.Cells.Value
ActiveSheet.Hyperlinks.Add Anchor:=Name_ID, Address:= _
"https://www.example.com/", SubAddress:= _
"something" & Branch, _
TextToDisplay:=Name
Next cell
Set Branch_ID = Branch_ID.Offset(1, 0)
Set Name_ID = Name_ID.Offset(1, 0)
Next row
End Sub
これは機能しますが、最初の行のみです。なぜループしないのですか?これはCombineRow
本当に正しいのでしょうか、それともこれである必要がありますG:G;M:M
か?
を入れても問題ないDo ... While
ので、ループを使用することも想像できます。end_tag