No.2ベストアンサー
- 回答日時:
#1です。
引数名と変数の指定がおかしいのです。
SubAdress → SubAddress 、
"シート番号!A1" → シート番号 & "!A1"
つまり SubAddress:= シート番号 & "!A1" にすると動くと思います。
ちなみに以下はサンプルです。
一番左のシートの A4 以降に、2枚目以降のシート名を入れてリンクします。
シートが追加されても、シート名が変更されても、再実行すれば直します。
試すならテスト環境のブックで。
Sub Test1()
Dim i As Integer, r As Range
With Worksheets(1)
.Hyperlinks.Delete
.Range("A4:A65536").ClearContents
For i = 2 To Worksheets.Count
Set r = .Cells(i + 2, 1)
r.Value = Worksheets(i).Name
.Hyperlinks.Add Anchor:=r, Address:="", _
SubAddress:=Worksheets(i).Name & "!A1"
Next i
End With
End Sub
No.1
- 回答日時:
どのように書いていて、どう言う結果を期待しているのかと、具体的なコードを書いた方がレスしやすいです。
Sub Test()
Dim sName As String, r As Range
Set r = ActiveCell
sName = "Sheet1" & "!A1"
ActiveSheet.Hyperlinks.Add r, "", sName
End Sub
この回答への補足
Sub ハイパーリンク()
Dim 行番号 As Integer
Dim シート総数 As Integer
Dim シート番号 As Integer
シート総数 = Worksheets.Count
For 行番号 = 4 To シート総数 + 2
シート番号 = 行番号 - 2
Cells(行番号,1).Select
ActiveSheet.Hyperlinks.AddAnchor:=Selection, _
Address:="", SubAdress:= "シート番号!A1"
next 行番号
End Sub
このように記述してます。ブックの構成は1シート目に索引があってA列に一連番号、B列に件名が入ってます。2シート目以降は同じ定型で内容が異なるものです。ブックによってシートの総数は変わりますが、索引+定型とゆう形は変わりません。
1シート目の索引の一連番号をクリックすれば、それに対応するシートに飛ぶようにしたいのです。あと、マクロを実行してもフォント変わってしまわないようにしたいです。
作業の関係で、シートの順番が入れ替わったり、間にシートを挿入したりするので、シート名を一連番号にするマクロと、並び替えたシート順で索引簿を作るマクロは完成してます。
長く見にくい説明で申し訳ありませんがよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルVBAでパスの¥マークに...
-
エクセルの複数シートの保護を...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
VBAで条件によりフォントサイズ...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
エクセルでファイル保存時に複...
-
シート名ではなく、相対位置で...
-
エクセルでシート名を自動入力...
-
前の(左隣の)シートを連続参...
-
エクセルで複数設定したハイパーリンク先...
-
エクセルで前のシートを連続参...
-
excelでシート毎の最終更新日を...
-
EXCEL VBAで別のシー...
-
複数シートの色付きセルがある...
-
Accessのスプレッドシートエク...
-
シートを追加・名前を次月に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
EXCELで同一フォーマットのシー...
-
VBAでシートコピー後、シート名...
-
Excel 連番を入力する方法
-
エクセル 計算式も入っていない...
-
エクセルで前シートを参照して...
-
エクセルでシート名を自動入力...
-
Accessのスプレッドシートエク...
-
複数シートの特定の位置に連番...
-
エクセルのシート名をリスト化...
おすすめ情報