VBAテクニック辞典

VBAテクニック辞典

【VBA】すべてのエクセルファイルを上書き保存して閉じる

For Each…Nextで繰り返し処理する複数のエクセルファイルにデータの書き込みなどをした後、まとめて上書き保存・閉じる場合は、For Each…Nextですべてのエクセルファイルを1つずつ処理していきます。コード解説VBAが記述されて...
VBAテクニック辞典

【VBA】エクセルファイルを保存しないで閉じる

Application.DisplayAlertsでメッセージを制御するVBAのCloseメソッドでエクセルファイルを閉じる時、ファイルに変更があった場合、次の確認メッセージが表示されます。このメッセージが表示されてしまうと、せっかくVBA...
VBAテクニック辞典

【VBA】エクセルファイルを上書き保存して閉じる

開いているエクセルファイル(ブック)を上書き保存するにはSaveメソッド、閉じる時はCloseメソッドを使用します。保存するエクセルファイルは、「ファイル名」または「ワークブック変数」で指定できます。ファイル名で指定Workbooksコレク...
VBAテクニック辞典

【VBA】新しいエクセルファイルを作成する

Workbooks.Addメソッドで作成新しいエクセルファイル(ブック)を作成する時には、Workbooks.Addメソッドを使います。コード解説エクセルファイルを新規作成したタイミングで、ワークブック変数(newExcelFile)に作成...
VBAテクニック辞典

【VBA】作成済みのエクセルファイルを開く

Workbooks.Openメソッドで開くすでにデータなどが保存されているエクセルファイルを開く時は、Workbooks.Openメソッドを使います。Openする時は、フルパス(フォルダとファイル名)で指定します。コード解説Workbook...
VBAテクニック辞典

【VBA】シートをコピーして、同じシートを複数作る

ループ処理でコピーするひな形のシートをコピーして複数作成したい時は、Copyメソッドをループ処理で繰り返し実行します。コード解説VBAのエクセルファイルにある「見積ひな型」シートをコピーして、同じシートを10枚作っています。プログラムの読み...
VBAテクニック辞典

【VBA】シートを新しいエクセルファイルにコピーする

Copyメソッドだけで実行コピーする時に、Before、After(コピーを作成する場所)を省略します。すると、新しいエクセルファイルが自動で作成され、その新しいエクセルファイルにシートがコピーされますコード解説新しいエクセルファイルが作成...
VBAテクニック辞典

【VBA】別ファイルのシートをコピーする

Workbooksでコピー元ファイルを指定しコピー他のエクセルファイルのシートをコピーする時、まずはコピー元のファイルを開きます。(※開いていないと、コピーできないため)コピーする時、コピー元ファイルはWorkbooks("ファイル名")で...
VBAテクニック辞典

【VBA】ワークシートのコピーとテクニック

Copyメソッドワークシートをコピーするには、WorksheetsのCopyメソッドを使います。コピーしたシートは、新しいブックに作成されます。コード解説新しいブックに「住所一覧」シートが作成されます。その他テクニックワークシートを先頭にコ...
VBAテクニック辞典

【VBA】非表示のシートを右クリックで再表示できないようにする

シートのVisibleプロパティにxlSheetVeryHiddenを設定すると、一般ユーザは右クリックでシートを再表示できなくなります。設定方法には、「VBAによる方法」と「手動(デザイナ)による方法」の2つがあります。VBAでVisib...
VBAテクニック辞典

【VBA】特定のブックにシートが存在するか調べる関数

指定したシートが存在するか調べるには、「ループ処理でシート名を調べる方法」と「オブジェクト変数を使って調べる方法」の2つがあります。よく使う機能なので関数化しています。シート名だけでなくブック名も指定可能としています。ループ処理でシート名を...
VBAテクニック辞典

【VBA】アクティブシート以外のシートをすべて削除する

ループ処理でアクティブシート名と比較し削除繰り返し処理の中で、1つずつ「ワークシートの名前」と「アクティブシートの名前」を比較し、名前が違う(=アクティブシートではない)時に削除処理をおこないます。コード解説今回の例では、変数jogaiSh...
VBAテクニック辞典

【VBA】複数のワークシートをまとめて削除する

ワークシートの削除自体はDeleteメソッドを使いますが、削除するシートの指定方法がいくつかあります。今回は、3つの方法を紹介しているので、使いやすい&理解しやすい方法を選んでください。シート名を配列で指定して削除Worksheets(Ar...
VBAテクニック辞典

【VBA】ワークシートの削除とテクニック

ワークシートを削除する時は、Deleteメソッドを使います。削除するシートは、「シート名」や「インデックス(何番目)」で指定できます。シート名で指定し削除Worksheets("○○").Deleteと書き、○○の部分に「シート名」を指定し...
VBAテクニック辞典

【VBA】ワークシートの追加とテクニック

シートを追加(挿入)する時は、WorksheetsコレクションのAddメソッドを使います。名前付き引数を使うと、追加するシートの場所や数も指定できます。(応用テクニック参照)Worksheets.Addメソッドでシートを追加コード解説実行す...
VBAテクニック辞典

【VBA】背景色の設定されたセルをカウントする関数

ループ処理でInterior.Colorを調べるループ処理で、Interior.Color(背景色)を調べてカウントしています。調べるセル範囲と、カウント対象の背景色を指定すると、対象のセル件数を返す関数です。コード引数の説明searchA...
VBAテクニック辞典

【VBA】フォーム(画面)間でデータの受け渡しをする

フォーム間でデータの受け渡しをするので、「呼び出し元フォーム」と「呼び出し先フォーム」の2つを使います。各フォームのオブジェクト(部品)とオブジェクト名は、次の表になります。画面オブジェクトオブジェクト名呼び出し元(メイン画面)フォームfr...