Excel/VBA備忘録(12)シート(名)のリストを作ってみる
たまにエクセル(Micorosoft Excel)で関数とかオプション、マクロ(VBA)を使うこともあるんですが、昔使ったことがある手法があったとしますよね。
んで、その時すでにその手法を忘れてて、「どうだったかなぁ~?」とか言いながら、結局Webを探し回ると凄く時間と労力がかかるんで、とりあえず、自分用に、忘れたときのメモとして、Excelの関数やVBAの手法を書こうと思います。
ちなみに、本文章についてご質問を承っても十分な回答を差し上げる自信は全くありません。
私の場合、なんだか処理するデータが膨大になってくると、シートがアホみたいに増えまくってしまうことがたまにあります。
そんな状態でも、まだシートを増やしたくなってシートを追加してシート名を変更すると、Excelから、
とか行って、シート名の変更を断られることがあったります。
これって、結局、新しく作ったシート名前を変更しようと思ったとき、同じシートがあるんで変更できせんよ、ってメッセージなんですが、なんせシートが多く、前付けた名前を覚えてなかったりするんで、このメッセージを私はたまに見かけます。
また、他シートのセルをリンクする場合なんか、ヘンなシート名とか超長いシート名とかにすると、それを覚えきれずに、リンクのシート名を確認すべくシートのタブをひたすらクリックしてる、なんてこともあったります。
まぁ、自分が悪いんですが、「Excelのクセに生意気だぁ~っ!!」(ジャイアン風)って思って、結構、「ムカッ!!」って来ることもあったりします。
で、機械相手にムカッ腹立てても不毛だし、精神衛生上良く無いんで、シート名の一覧を作れば、そのシートだけ見てシート名を確認できるのになぁ、なんて思ったりする訳です。
で、まぁ、マクロでそういったものを自動的に作れれば良いかなぁ、なんて思ってWebを彷徨っていましたら、少し変更すれば使えそうなものがあったんで紹介しましょう。
Sub No17()
'VBAパーツNo.17 ブック内のすべてのシート名を表示
Dim i As IntegerFor i = 1 To sheets.Count
MsgBox (i & "番目のシート名は " & sheets(i).Name & " です。")
Next iEnd Sub
(Excelあらかると VBAパーツより引用)
上記のサイトさんからのマクロを少し拝借して、下記のように変更します。
Sub sheets_list()
Dim i As Integer
For i = 1 To sheets.Count
ActiveSheet.Cells(i, 1) = sheets(i).Name
Next i
End Sub
ちなみに、マクロの編集や実行のやり方は、こちらをご覧下さい(無責任な私)。
で、実際に実行してみます。
まず、下記のようなシート構成だったとします。
マクロを実行します。
「sheets_list」を実行すると、
上記のようにセルA1からシートが登録されている順番でリストを作ることが出来ています。
なお、もし上手くいかない場合、私が説明できるのはここまでですので、後はWebかなんかで頑張って調べてみてください。
(リンク先(多謝):Excel、☆ Excelでお仕事!(Excel全般の解説サイト) ☆)
”グッ”と来ることが書いてあったらクリックお願いします
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
![]() |
![]() |
![]() |
« オフト新監督が着任、練習に合流 ジュビロ磐田 | トップページ | おでかけ情報(JRおでかけネットより) »
「Excel/VBA」カテゴリの記事
- Excel/VBA備忘録(14)ある範囲のデータを(リンクされた)図として別の場所に貼り付ける『カメラ』機能を使う(2009.04.18)
- Excel/VBA備忘録(13)何年かの間にある月の数を調べてみる(2008.09.14)
- Excel/VBA備忘録(12)シート(名)のリストを作ってみる(2008.09.12)
- Excel/VBA備忘録(11)Sendkeysステートメントでキーを複数回押したような動作をさせてみる(2008.08.09)
- Excel/VBA備忘録(10)条件付き書式を使う(2008.04.23)
コメント