この記事では、エクセルでワークシートの名前の一覧を作成し、またワークシートからシート名を読み込むマクロについて紹介していきます。
エクセルのシート名の編集、結構めんどくさいです。
シートが少なかったらいいんですが、会社で共有で使っているエクセルファイルなどはみんなが、結構好き勝手にワークシートを増やしていく傾向にあるので最終的にはごみ屋敷です。
そんな、めんどくさいシート名の編集作業を少しでも楽にすべく、会社ではマクロを組んでつかっています。
今回はそのVBAのコードを紹介します。
コピペすればすぐに使えるようにしているので、コピペして使ってみてください。
下記がワークシートの名前の一覧を作るコードとなります。
①ワークシートの名前の一覧を作るコード
Sub シートの名前を抽出()
Worksheets(1).Select
For i = 1 To
Worksheets.Count
nam =
Worksheets(i).Name
Cells(i, 1).Value
= nam
Next
End Sub
使い方とコードの中身の解説(一覧作成)
①コードのコピペ
下記のVBAのコードを「個人用マクロブック」か「作業中のブック」の標準モジュールに入力します。
「個人用マクロブック」でも、「作業中のブック」どちらに書き込んでもらってもOKでが、「作業中のブック」に保存する場合には、拡張子を「.xlsm」に変更しないと保存ができませんので、ご注意ください。
②マクロの実行
「実行」の「ユーザーフォームの実行」から実行してみましょう。
③結果の出力
一番左端にあるワークシートのセルA1から順に現在のブックにあるワークシートの名前の一覧が作成されました。
コードの解説(一覧作成)
VBAのコードを作成していきます。
①マクロの名前です。
②一番左端にあるワークシートを選択しています。
③ワークシートカウント関数でワークシートの数を数えて、
それを変数iに代入しています。
Forステートメントでワークシートの数だけ繰り返します。
④ワークシートの名前を順番に取り出し、変数「nam」に格納しています。
⑤Cellオブジェクトのi行、1列目に順番にワークシートの名前を書きだします。
⑥forステートメントの最後にnextを付け、繰り返しの終わりを明記します。
⑦VBAコードの終わりです。
②ワークシートの一覧から各シートに名前を読み込むコード
上記の記事ではワークシートの名前を読み込んで、一番左端のワークシートに「シート名の一覧」を作成するマクロを解説しました。
以下ではその一覧を編集して、その結果をワークシートに読み込ませるマクロについて解説していきます。
下記がそのマクロのコードです。
使い方とコードの中身の解説(読み込み)
①一覧の編集
上記に生地で作成したワークシートの一覧の一部を編集し、「商品A」「商品B」としました。
②コードのコピペ
下記のVBAのコードを標準モジュールに入力します。
「個人用マクロブック」でも、「作業中のBOOK」の「標準モジュール」のどちらに書き込んでもらってもOKですが、「作業中のブック」に保存したい場合は、拡張子を「.xlsm」形式にして保存しなおさないといけないので注意してください。
③コードの実行
「実行」の「ユーザーフォームの実行」から実行してみましょう。
④結果の出力
先ほど編集した部分がシート名に読み込まれ、シート名が「商品A」「商品B」に変更されました。
コードの解説(読み込み)
VBAのコードの解説をしていきます。
0 件のコメント:
コメントを投稿