- ベストアンサー
EXCELでのリスト作成に関するマクロ
- EXCELでリスト作成する際に、左側からリストを表示する方法を教えてもらいましたが、右側からリストに表示する方法はありますか?
- EXCELのマクロを使ってリストを作成する際、左側から表示する方法はわかりましたが、右側から表示する方法が知りたいです。
- EXCELでリストを作成する方法について、左側から表示する方法はわかるのですが、右側から表示する方法が知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 (1)私のコードではInt((wc - i) / 5) + 1が列を表しています。これを cl = Int((wc - i) / 5) + 1 Set r = .Cells(((wc - i) Mod 5) + 4, (cl - 1) * 2 + 1) に改めれば良い。 (2)#1のコードの下に1列おきの列挿入をする方法も あります。 Sub test02() r = Range("IV1").End(xlToLeft).Column For i = 1 To r Columns((i - 1) * 2 + 2).EntireColumn.Insert Next i End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
(テストシート) リスト(左端)以下右に 材料 Sheet7 Sheet11 ・・・ Sheet2 商品 (結果)第4行目から 商品 Sheet9 Sheet13 Sheet2 Sheet8 Sheet12 Sheet4 Sheet16 Sheet11 Sheet1 Sheet15 Sheet7 Sheet10 Sheet14 材料 となりました。 (コード) (注)テストシート数を沢山作るのが面倒で、20シート づつを5シートづつに修正。元に戻し方は、MODとINTの5->20で良いでしょう。 Sub テスト() ActiveWindow.WindowState = xlNormal Dim i As Integer, r As Range With Worksheets("リスト") .Hyperlinks.Delete .Range("B4:B65536").ClearContents wc = Worksheets.Count For i = wc To 2 Step -1 Set r = .Cells(((wc - i) Mod 5) + 4, Int((wc - i) / 5) + 1) r.Value = Worksheets(i).Name .Hyperlinks.Add Anchor:=r, Address:="", _ SubAddress:=Worksheets(i).Name & "!A1" Next i End With Columns("B:B").EntireColumn.AutoFit End Sub
補足
ありがとうございます。 これを1列おきに入れていく方法はありますでしょうか?