• ベストアンサー

エクセルマクロのことです

通常使っていたマクロを間違えて消してしまい、その上再構築できなくて困っています。 こんなマクロだったですが。 ブック内に複数のシートが入っています。新しくSheetを追加してA2セル(他のセルの時もあります)をアクティブにします。 Alt+F8→実行でA2セルから下へ、そのブック内の全ての「シート名」が書き出されるというマクロだったのです。 マクロ初心者です、どなたかアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

こんな感じでしょうか。 Sub シート名表示() Dim wRow As Integer Dim wCol As Integer wRow = Selection.Row wCol = Selection.Column For Each c In Worksheets wRow = wRow + 1 ActiveSheet.Cells(wRow - 1, wCol) = c.Name 'シート名表示 Next End Sub

SEINEN
質問者

お礼

バッチリでした、ありがとうございます。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 この文章の中の、「他のセルの時もあります」という設定基準が分かりませんが、対話形式にする必要もないと思います。ですから、このようにして、ユーザー自身が、A2をマクロ文の中を書き換える必要があると思います。 これは、Worksheet と Sheet の違いのサンプルとしては良い見本だと思います。 '標準モジュール Sub SheetNameList() Dim sh As Object Dim i As Integer 'ユーザー設定 Const MYCELL As String = "A2" With ActiveWorkbook  .Worksheets.Add After:=.Worksheets(.Sheets.Count) For Each sh In .Sheets  ActiveSheet.Range(MYCELL).Offset(i).Value = sh.Name  i = i + 1 Next sh End With End Sub

SEINEN
質問者

お礼

早速のご回答、ありがとうございました。 大変参考になります。

関連するQ&A