このようなマクロを作りました。
------------------------------------------------
Dim i As Integer, r As Range
With Worksheets("リスト")
.Hyperlinks.Delete
.Range("B4:B65536").ClearContents
For i = 2 To Worksheets.Count
Set r = .Cells(i + 2, 2)
r.Value = Worksheets(i).Name
.Hyperlinks.Add Anchor:=r, Address:="", _
SubAddress:=Worksheets(i).Name & "!A1"
Next i
End With
------------------------------------------------
これだけでは、B列に並んでしまうだけなのでこれを20データごと次の列に入力できるようにしたいのですがいろいろ調べたのですがわかりませんでした。
わかる方がいましたらよろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
maruru01です。Set r = .Cells(i + 2, 2)
↓
Set r = .Cells(((i - 2) Mod 20) + 4, 2 + Int((i - 2)/20))
かな。
No.2
- 回答日時:
既回答の(1)MODを使う、ほかに(2)行を変数に持って、管理する方法があり、泥臭くやって見ました。
テストのため、5行おきに並べるConst gyou = 5
にしてますが、10行並びなら=10にします。
Sub test01()
Dim i As Integer, r As Range
Const gyou = 5 '***
With Worksheets("リスト")
.Hyperlinks.Delete
.Range("B4:B65536").ClearContents
j = 4: k = 2 '***
For i = 2 To Worksheets.Count
Set r = .Cells(j, k)
r.Value = Worksheets(i).Name
.Hyperlinks.Add Anchor:=r, Address:="", _
SubAddress:=Worksheets(i).Name & "!A1"
If j = 4 + gyou - 1 Then '***
k = k + 1 '***
j = 4 '***
Else '***
j = j + 1 '***
End If '***
Next i
End With
End Sub
***の行を追加
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) Sheet1をフィルターで「りんご」を抽出し、Sheet2へ地域を貼り付ける下記マクロを変更して S 2 2022/12/11 03:01
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) VBAで教えて頂きたいのですが? 1 2022/04/29 02:36
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUPの列番号の最大は?
-
エクセルで離れた列を選択して...
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
エクセル 重複したデータを別...
-
エクセルマクロPrivate Subを複...
-
リストからデータを紐付けしたい
-
エクセルマクロの組み方
-
VBA 指定した列にある日時デー...
-
Excel文字列一括変換
-
CSVファイルの「0落ち」にVBA
-
エクセルで複数列の検索をマク...
-
EXCELVBAでリストボックス複数...
-
VBAで別ブックの列を検索し、該...
-
エクセルで住所を県と市・郡と...
-
Excelの行数、列数を増やしたい...
-
エクセルのソートで、数字より...
-
Alt+Shift+↑を一括で行うには、...
-
オートフィルターの複数抽出と...
-
データシートビューのタイトル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA
-
Excelの行数、列数を増やしたい...
-
VBA 指定した列にある日時デー...
-
エクセルで複数列の検索をマク...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロの組み方
-
エクセルのソートで、数字より...
-
えABのある列って
-
VBAで別ブックの列を検索し、該...
-
Excel文字列一括変換
-
エクセルで住所を県と市・郡と...
-
リストからデータを紐付けしたい
-
Alt+Shift+↑を一括で行うには、...
-
エクセル マクロ 範囲指定で...
-
エクセルで最初の行や列を開け...
-
エクセル 重複 隣の列 一番...
おすすめ情報