- ベストアンサー
エクセルでシート名の一覧をプリントするには?
エクセルのブック内にシートを30程作っています。 シート名称だけを一覧でプリントする方法があれば教えて下さい。 どうぞ宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
VBAでよければ・・・。 一覧表作成の為のシートをひとつ作成し、そのシートを表示した状態で 下記を実行で一覧表が作成されるのでそれを印刷すればよいかと。 Sub test() Dim i As Worksheet For Each i In Worksheets Range("A65536").End(xlUp).Offset(1).Value = i.Name Next End Sub
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
#2のWendy02です。 >実行いたしますと#NAME!のエラーが出てしまいます。 たぶん、正しく、名前定義が入らなかったせいなのかなって思います。 WH ←本来は、ここは、鍵カッコなし、空白なしです。 =GET.WORKBOOK(1) & LEFT(NOW(),0) 「=」イコール付きです。 こんなところでしょうか? もう既に、マクロで解決してようで、あえて、重複する回答を避けたまでですから、分らなければ、いずれの機会にか、似たような回答がついたときに、これを思い出していただければよいかと思います。
お礼
再度のご回答ありがとうございます。 1つの作業にも色んな方法があって、大変勉強になりました。 早速やってみます。有り難うございました。
- imogasi
- ベストアンサー率27% (4737/17069)
ユーザー関数を作ります。 メニューで ツール マクロ VBE VBEの画面が出る。 そのメニューで 挿入 標準モジュール その画面に Function fn(indx) fn = Sheets(indx).Name End Function を入れる。 ーーーー どのシートでも良い。 第2行目から下の(同列)セルに出す時は =fn(ROW()-1) Row()-Xが1になるようXを調節すること。 と入れて、下へ+フィルハンドルをシート数行だけ引っ張る。 そしてシートの(セル範囲指定で)印刷。
お礼
ご回答有り難うございました!色んな方法が分かって大変助かりました。 これからも活用させていただきます。 本当に有り難うございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 挿入-名前-定義 名前(W) 「 WH 」(任意) 参照範囲 =GET.WORKBOOK(1) & LEFT(NOW(),0) 「OK 」 で閉じます。 後は、適当なワークシートのセル上に、 「 =MID(INDEX(WB,1,ROW(A1)),FIND("]",INDEX(WB,1,ROW(A1)))+1,256) 」 として、フィルハンドルで、ドラッグ・ダウンして、最後に、#REF!のエラーが出たらお仕舞い。
補足
こんばんは。Wendy02様、ご回答有り難うございます。 実行いたしますと#NAME!のエラーが出てしまいます。 不勉強でどこを間違えてしまっているのかが解らないのですが、何が違うか予測可能でしょうか?
お礼
ご回答いただき有り難うございます。 実はVBAは一度も使った事がなく、教えていただいてる内容が良く解らないまま実行してみました。 無事に一覧で名称が出てきて大喜びでございます。これを機会に勉強してみようかなという気持ちになりました♪ 本当に有り難うございました。