• ベストアンサー

エクセルでシート名の一覧をプリントするには?

エクセルのブック内にシートを30程作っています。 シート名称だけを一覧でプリントする方法があれば教えて下さい。 どうぞ宜しくお願いします。

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

  • ベストアンサー
noname#123709
noname#123709
回答No.1

VBAでよければ・・・。 一覧表作成の為のシートをひとつ作成し、そのシートを表示した状態で 下記を実行で一覧表が作成されるのでそれを印刷すればよいかと。 Sub test() Dim i As Worksheet For Each i In Worksheets Range("A65536").End(xlUp).Offset(1).Value = i.Name Next End Sub

jyeny21
質問者

お礼

ご回答いただき有り難うございます。 実はVBAは一度も使った事がなく、教えていただいてる内容が良く解らないまま実行してみました。 無事に一覧で名称が出てきて大喜びでございます。これを機会に勉強してみようかなという気持ちになりました♪ 本当に有り難うございました。

その他の回答 (3)

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

#2のWendy02です。 >実行いたしますと#NAME!のエラーが出てしまいます。 たぶん、正しく、名前定義が入らなかったせいなのかなって思います。 WH  ←本来は、ここは、鍵カッコなし、空白なしです。 =GET.WORKBOOK(1) & LEFT(NOW(),0) 「=」イコール付きです。 こんなところでしょうか? もう既に、マクロで解決してようで、あえて、重複する回答を避けたまでですから、分らなければ、いずれの機会にか、似たような回答がついたときに、これを思い出していただければよいかと思います。

jyeny21
質問者

お礼

再度のご回答ありがとうございます。 1つの作業にも色んな方法があって、大変勉強になりました。 早速やってみます。有り難うございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

ユーザー関数を作ります。 メニューで ツール マクロ VBE VBEの画面が出る。 そのメニューで 挿入 標準モジュール その画面に Function fn(indx) fn = Sheets(indx).Name End Function を入れる。 ーーーー どのシートでも良い。 第2行目から下の(同列)セルに出す時は =fn(ROW()-1)  Row()-Xが1になるようXを調節すること。 と入れて、下へ+フィルハンドルをシート数行だけ引っ張る。 そしてシートの(セル範囲指定で)印刷。

jyeny21
質問者

お礼

ご回答有り難うございました!色んな方法が分かって大変助かりました。 これからも活用させていただきます。 本当に有り難うございました。

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

こんばんは。 挿入-名前-定義 名前(W) 「 WH 」(任意) 参照範囲 =GET.WORKBOOK(1) & LEFT(NOW(),0) 「OK 」 で閉じます。 後は、適当なワークシートのセル上に、 「 =MID(INDEX(WB,1,ROW(A1)),FIND("]",INDEX(WB,1,ROW(A1)))+1,256) 」 として、フィルハンドルで、ドラッグ・ダウンして、最後に、#REF!のエラーが出たらお仕舞い。

jyeny21
質問者

補足

こんばんは。Wendy02様、ご回答有り難うございます。 実行いたしますと#NAME!のエラーが出てしまいます。 不勉強でどこを間違えてしまっているのかが解らないのですが、何が違うか予測可能でしょうか?

関連するQ&A