エクセル実践塾 > エクセル実践塾2016

シート名の一覧を表示したい

 

WorksheetsコレクションからWorksheetオブジェクトを取得し、 For Eachループでそのシート名を順にセルへ入力します

次のようなマクロにすると、

Sub ListSheetNames()
 Dim ws As Worksheet
 Dim i As Integer

 i = 1

 For Each ws In Worksheets
  'シート名を表示するセルにシート名を代入する
  Range("A" & i).Value = ws.Name
  '次のセルに移動する
  i = i + 1
 Next ws
End Sub

編集中のシートに、そのブックにあるすべてのシート名が表示されます


 

 

@「マクロの記録」を使うと、いつでも利用できるマクロを簡単に作ることができます

「開発」タブの「マクロの記録」を実行します。

「マクロの保存先」を「個人用マクロブック」にすると、ブックやシートを問わずに使用できるマクロになります。

「OK」で「マクロの記録」ダイアログボックスを閉じたら、すぐに「記録終了」をクリックします

すると、個人用マクロブックに、指定したマクロ名のサブルーチンが新規作成されます。

「Visual Basic」をクリックすれば、マクロを編集するためのMicrosoft Visual Basic for Applicationsが表示されます。

 

 

APERSONAL.XLBの標準モジュール内の末尾Moduleに、さきほど記録した新規マクロが追加されています

B左図のように変数を宣言し、それを使ったFor Eachループにします

Dim ws As Worksheet

この行は、Worksheetオブジェクトを宣言しています。これは、For Eachループで使用されます。

Dim i As Integer

i = 1

次に、整数変数「i」を宣言し、初期値を「1」として設定します。これは、各シートの名前を表示するために使用されるセルの行番号をトラックするために使用されます。

For Each ws In Worksheets

次に、WorksheetsコレクションからWorksheetオブジェクトを取得し、wsに割り当てるFor Eachループが始まります。

For Eachループは、Nextとセットで使います。Nextで変数wsの値を更新し、すべての値を処理し終わるまで、その中のコードが繰り返されます。

Cループの各反復で、ws.Nameプロパティを使用して現在のシートの名前を取得し、Rangeオブジェクトを使用して、名前を表示するセルのアドレスを計算します。その後、セルにシート名を挿入します

i = i + 1

最後に、行番号「i」を1つ増やして、次のセルに移動します。

Dこのマクロを実行すると、すべてのシートの名前が、A1セルから順に一覧表示されます

   
   
   
   
   
   
   
   
   

   

   
 

 

●「右クリックされたセルの値に基づいて、ワークシートをアクティブにする」マクロを作る動画です

Dyson(ダイソン)オンラインストア

関連する他のページ

『名前』に右隣セルの『ふりがな』を登録したい
簡単なマクロを作って、ふりがな登録する方法があります

日別のシフト表から、 個人の勤怠データを抜き出して表示したい
日別勤怠表のシート名を数式で作りながら、 VLOOKUP関数で参照する方法があります

シート名のクリックで、必要なシートを簡単に表示したい
ジャンプ先のシート名がセルに入力されている場合には、 ハイパーリンクを設定することで、そのシートを簡単に表示することができます

前日シートのテーブルを、当日の新規シートでも使いたい
前日シートのコピーで、当日の新規シートを作り、そのデータ範囲だけを削除する方法があります

ブックを開いたときの新規シート自動挿入を、1日1枚に制限したい
新規シートの名前に日付を加え、マクロ実行時にその存在の有無を確認するようにします

ブックを開いたときに、新規シートを先頭へ挿入したい
ThisWorkbookのOpenプロシージャに該当コードを記述します

編集シートの前に新規シートを挿入したい
Shift+F11キーで行えます

他のブックにあるシートを簡単に表示したい
ハイパーリンクによるジャンプ先は、他のブックのシートも対象にできます

シート名のクリックで、必要なシートを簡単に表示したい
ジャンプ先のシート名がセルに入力されている場合には、 ハイパーリンクを設定することで、そのシートを簡単に表示することができます

必要なシートを簡単に表示したい
任意のセルにシートと同じ名前をつけておけば、名前ボックスのリストからそれを選んで表示できるようになります

班名をクリックすると、そのメンバーリストが表示されるようにしたい
セル範囲に名前を定義すれば、その名前へのハイパーリンクを設定することで、そこへのジャンプが可能となります

必要な月スケジュール表だけを印刷したい
範囲を選択してから印刷します

カレンダーを用紙に合わせて印刷したい
印刷したいセル範囲を決めて、 1ページに収まるように設定します

シートの一部だけを印刷したい
あらかじめ印刷範囲を設定しておけば、 そのセル範囲だけを印刷できます

格子状の罫線を付けて印刷したい
「ページ設定」の「シート」タブで「格子」を設定すれば、 格子状の罫線を付加して印刷できます

シートに作った暑中見舞いをハガキに印刷したい
見た目と印刷結果は異なることが多いので、 印刷プレビューしてから印刷する方法がオススメです

オートフィルタで抽出したデータを、用紙1枚で印刷したい
[次のページ数に合わせて印刷]を使えば、 指定した枚数でデータの印刷を行えます

指定したページだけを、とびとびで印刷したい
マクロを使えば、指定したページだけを連続して印刷することは可能です

どのブックからでも利用できるマクロを作りたい
「個人用マクロブック」に登録すれば、どのブックからでもそのマクロを実行できるようになります

マクロ実行の対象範囲を固定したい
セルやセル範囲は、 Rangeで指定できます

選択中のセル範囲に含まれる空セルを、 マクロ処理の対象から除外したい
空セルでないことを条件に、 マクロを実行するよう、 If文を追加します

選択中のセル範囲に対してのマクロ実行結果を、 別のセルに表示したい
Offsetを使うと、 対象のセルの位置を行列単位でずらすことができます

選択中のセル範囲に対するマクロを作りたい
For Each〜Nextで、 選択中のセル範囲(Selection)に対する処理を記述します

出退の時刻を簡単に記録したい
簡単なマクロを作れば、 「出社」や「退社」をクリック(タップ)するだけで現在日時を入力できる タイムカードを用意できます

『名前』に右隣セルの『ふりがな』を登録したい
簡単なマクロを作って、ふりがな登録する方法があります

ブックを開いたときの新規シート自動挿入を、1日1枚に制限したい
新規シートの名前に日付を加え、マクロ実行時にその存在の有無を確認するようにします

ブックを開いたときに、新規シートを先頭へ挿入したい
ThisWorkbookのOpenプロシージャに該当コードを記述します

マイナス値をゼロに置換したいC
If...ThenステートメントによるVBAマクロを使えば、マイナス値をまとめてゼロに置換できます

“縮小して表全体を表示する”のマクロを、 クイックアクセスツールバーから実行したい
クイックアクセスツールバーにマクロを登録すれば、マウスからでも、キーボードからでも、簡単に実行できるようになります

“縮小して表全体を表示する”のマクロを使って、表の選択から一気に処理したい
Range.CurrentRegion プロパティを使えば、 アクティブセル領域となっている表全体をマクロで選択できます

“縮小して表全体を表示する”を、 ショートカットキーですばやく実行したい
実行手順をマクロとして記録すれば、 ショートカットキーでその一連の手順をすばやく実行できるようになります

“セキュリティの警告”が表示されるんだけど・・・
マクロを含むブックを開くときには、注意を促すべく、「セキュリティの警告」が表示されます

マクロ有効ファイルって何?
マクロを含むブックは、 マクロ有効ファイル(マクロ有効ブック)として保存しなければ、マクロが失われてしまいます

100行程度の表で、5行おきに、新しい行を挿入したい
あまり大きくない表でのパターン化された処理なら、一定の手順をマクロ記録すると便利です

オートシェイプをクリックするたびに、枠線の表示と非表示を切り替えたい
枠線の表示と非表示の切り替えマクロを、 オートシェイプに登録すれば、 オートシェイプをクリックするだけでそのマクロが実行されるようになります

オートシェイプの枠線の表示と非表示を、一つのマクロで切り替えたい
If〜Then〜Elseの構文を使えば、 オートシェイプの状態に応じて、表示と非表示を一つのマクロで切り替えられます

オートシェイプの枠線の表示の有無を、マクロで切り替えたい
Shape.LineのVisibleプロパティの設定を変えることで、 枠線を表示したり非表示にしたりすることができます

マクロを右クリックで実行したい
Worksheet_BeforeRightClickイベントのプロシージャにマクロを記述すると、 指定シートを右クリックしたときにそのマクロが実行されます

ブックを閉じるときに、マクロを自動的に実行したい
そのブックのWorkbook.BeforeClose イベントに、マクロを実行するコードを記述します

2つのフォルダへの保存マクロを、汎用的なものにしたい
ファイル名の部分を、 編集中のブックの名前を表すActiveWorkbook.Nameにすると、 編集中のブックならどれでもマルチ保存が可能になります

マクロ実行時に表示されるダイアログボックスを無視したい
Application.DisplayAlerts プロパティをFalseにすると、 マクロの実行中に警告やメッセージが表示されなくなります

編集中のブックを、現在のフォルダとは別のフォルダにも、すばやく保存したい
手間のかかる操作は、マクロ化すれば、簡単に処理できるようになります

マクロのコードを、見た目にわかりやすく、簡潔に記述したい
With ステートメントを使えば、作業の対象となるオブジェクトの記述が1回で済みます

B2セルに入力してあるデータを、そのシートの名前にしたい
シートの名前は、Worksheet.Name プロパティで変えることができます

リスト内の各データを、必要に応じて個別で表示したい
マクロを使えば、ダブルクリックしたデータを、専用のユーザーフォームで表示することができます

 

 

 

 

 

出前館

アウトドア&フィッシング ナチュラム