VBAテクニック辞典

VBAテクニック辞典

【VBA】連続したセルと離れたセルを同時に選択する

【実行結果】 Rangeを使ったセルの選択 「連続したセルを選択する」、「離れたセルを選択する」の内容を合わせた方法です。 連続したセルはコロン、離れたセルはカンマ区切りで記述します。 セル指定後に、Select...
VBAテクニック辞典

【VBA】離れたセルを選択する

【実行結果】 Rangeを使ったセルの選択 Rangeプロパティで選択するセルを、カンマ区切りで指定します。この時、引数全体をダブルクォーテーションで囲みます。 対象セルを指定したら、Selectメソッドで選択状態にし...
VBAテクニック辞典

【VBA】連続したセルを選択する

【実行結果】 VBAでセルを選択状態にする時は、Selectメソッドを使用します。 対象セルの指定方法は、「Rangeによる方法」と、「RangeとCellsを組み合わせた方法」の2つがあります。 サンプルコードでは、セル...
VBAテクニック辞典

【VBA】離れた複数行を削除する

【実行結果】 行の削除するにはDeleteメソッドを使いますが、削除する行を指定するには2つの方法があります。(※離れた行はRowsによる指定はできません) サンプルコードでは、2行目、4行目、6~8行目を削除します。 R...
VBAテクニック辞典

【VBA】連続した複数行を削除する

行の削除にはDeleteメソッドを使いますが、対象の連続した行を指定するには、3つの方法があります。 サンプルコードでは、2行目から6行目を削除します。 Rangeを使った行の削除 Rangeの引数で、選択する範囲の開...
VBAテクニック辞典

【VBA】離れた複数行を選択する

【実行結果】 行の選択にはSelectメソッドを使いますが、離れた行を指定するには、2つの方法があります。(※Rowsによる指定はできません) サンプルコードでは、2行目、4行目、6~8行目を選択状態にします。 R...
VBAテクニック辞典

【VBA】連続した複数行を選択する

【実行結果】 行の選択にはSelectメソッドを使いますが、対象の連続した行を指定するには、3つの方法があります。 サンプルコードでは、2行目から6行目を選択状態にします。 Rangeを使った行の選択 Ran...
VBAテクニック辞典

【VBA】複数のシートを同時にまとめてコピーする

複数のワークシートを同時にコピーする方法を、3つ紹介しています。 目的や状況に応じて、使いやすい方法を選んでください。 シート名を配列で指定してコピー Worksheets(Array("○○","○○")).Copyと書...
VBAテクニック辞典

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

Before/Afterでファイル名を指定しコピー 最初にコピー先のエクセルファイルを開きます。 Copyメソッドでシートをコピーする時に、Before/AfterでWorkbooks("○○.xlsx").Worksheets("...
VBAテクニック辞典

【VBA】コピーしたワークシートに名前を設定する

ActiveSheet.Nameプロパティで設定 Copyメソッド実行直後に、ActiveSheetのNameプロパティに名前を設定します。 シートをコピーした直後には、コピーして新しく作成したシートがアクティブになっているからです...
VBAテクニック辞典

【VBA】ワークシートを最後にコピーする

After:=Worksheets(Worksheets.Count)でシートコピー ブックの最後(1番右)にコピーしたシートを作成するには、Copyメソッドの引数に、After:=Worksheets(Worksheets.Coun...
VBAテクニック辞典

【VBA】ワークシートを先頭にコピーする

Before:=Worksheets(1)でシートコピー ブックの先頭(1番左)にコピーしたシートを作成するには、Copyメソッドの引数に、Before:=Worksheets(1)と書きます。 Beforeは、シートを作成する...
VBAテクニック辞典

【VBA】指定したシート以外のシートをすべて削除する

ループ処理で1つずつシート名を比較し削除 繰り返し処理の中で、1つずつ「処理中のワークシート名」と「指定したシート名」を比較し、名前が違う時に削除処理をおこないます。 コード 解説 繰り返し処理(Fo...
VBAテクニック辞典

【VBA】アクティブシートを削除する

ActiveSheet.Deleteで削除 アクティブシートを削除したい時は、ActiveSheet.Deleteで削除できます。 コード 解説 アクティブシートを削除する命令の前後では、Appl...
VBAテクニック辞典

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

Count:=数値 でシートを追加 Worksheets.Addで新しいシートを追加する時に、「Count:=数値」を指定します。 指定した数値の数だけシートが追加されます。 コード 解説 サンプルコードでは、Coun...
VBAテクニック辞典

【VBA】新しいワークシートを最後に追加する

After:=Worksheets(Worksheets.Count)でシートを追加 Worksheets.Addで新しいシートを追加する時に、After:=Worksheets(Worksheets.Count)と指定すると、シートの最...
VBAテクニック辞典

【VBA】新しいワークシートを先頭に追加する

Before:=Worksheets(1)でシートを追加 Worksheets.Addで新しいシートを追加する時に、Before:=Worksheets(1)と指定すると、シートの先頭(1番左)に追加されます。 コード 解説 ...
VBAテクニック辞典

【VBA】パスワードが設定されたエクセルファイルを開く

パスワードの設定されたエクセルファイルをVBAで開こうとすると、パスワードの入力画面が表示されてしまいます。 パスワードもVBAで自動入力し、パスワード入力画面を表示せずにエクセルファイルを開く方法です。「読み取りパスワード」と「書き...
VBAテクニック辞典

【VBA】パスワードを設定してエクセルファイルを保存する

エクセルファイルにパスワードを設定して保存する場合、パスワードには次の2種類があります。 読み取りパスワード: パスワードを知らないと中身を見ることもできない 書き込みパスワード: パスワードを知らないと保存できないが、中身を見...
VBAテクニック辞典

【VBA】同名ファイルが存在してもメッセージ非表示で上書き保存する

Application.DisplayAlertsでメッセージを制御する 新規のエクセルファイル(ブック)に名前を付けて保存する時、すでに同じ名前のファイルが存在すると、下の警告メッセージが表示されVBAの処理が止まってしまいます。 ...
VBAテクニック辞典

VBAで条件と一致するセルの背景色を設定する関数

ループ処理で条件判断と背景色をセット セルの値が条件と一致する時に、セルの背景色を設定する関数です。戻り値として、一致したセルの件数を返します。 「セルの条件」、「調べるセル範囲」、「背景色」が指定できます。 調べるセル範...
VBAテクニック辞典

【VBA】列を削除する(1列だけ、連続した複数列、離れた複数列)

VBAで列を削除する時は、RangeプロパティのDeleteメソッドを使用します。 対象列を指定するには、RangeやColumnsなどいくつかの方法があります。 1列だけ削除 次の3つの選択方法があります。例...
VBAテクニック辞典

【VBA】行の削除とテクニック

【実行結果】 VBAで行を削除する時は、Deleteメソッドを使用します。 削除する行を指定するには、RangeやRowなど3つの方法があります。 サンプルコードでは、2行目を削除します。 Rangeを使った行指...
VBAテクニック辞典

VBAで強制的にエラーを発生させる

VBAのプログラムから、強制的にエラーを発生させたい場合は、Err.Raiseを使います。 実際には発生していないエラーを、エラー番号を指定して発生させることができます。また、使用されていないエラー番号を使い、エラー内容を独自に設定す...
VBAテクニック辞典

文字色の設定されたセルをカウントする関数

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

【VBA】列を選択状態にする(1列だけ、連続した複数列、離れた複数列)

VBAで列を選択状態にする時は、RangeプロパティのSelectメソッドを使用します。 対象列を指定するには、RangeやColumnsなどいくつかの方法があります。 1列だけ選ぶ 【実行結果】 次の3つの...
VBAテクニック辞典

【VBA】行の選択とテクニック

【実行結果】 VBAで行を選択状態にする時は、Selectメソッドを使用します。 対象行を指定するには、RangeやRowなど3つの選択方法があります。 サンプルコードでは、2行目を選択状態にします。 Range...
VBAテクニック辞典

【VBA】セルの選択とテクニック

【実行結果】 VBAでセルを選択状態にする時は、Selectメソッドを使用します。 対象セルの指定方法は、「Rangeによる方法」と、「Cellsによる方法」があります。 Rangeを使ったセルの選択 Rangeプロ...
VBAテクニック辞典

VBAカラー一覧(組み込み定数、RGB値)|色見本あり

VBAでは、カラーを指定する時に使える、組み込み定数があります。 組み込み定数を使う事で、RGB値がわからなくても簡単にカラーの指定ができます。また、プログラムを見た時にも、定数名から色がわかるので、できる限り定数でカラーを指定しまし...
VBAテクニック辞典

セルのフォントやサイズを設定する

フォントや色以外にも、下線や太字などもVBAで設定できます。 フォントの設定 Font.Nameプロパティに、フォント名を設定します。 フォント名は、ダブルクォーテーションで囲みます。 POINT フォント名を手入力すると、半...
VBAテクニック辞典

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

繰り返し処理中はメッセージを非表示にして閉じる 複数のエクセルファイルを保存しないで閉じる場合は、For Each…Nextですべてのエクセルファイルを1つずつ処理していきます。 この時、Closeメソッドでファイルを閉じるだけでは...
VBAテクニック辞典

【VBA】新しいエクセルファイルに名前を付けて保存する

SaveAsメソッドで名前を付けて保存 新しいエクセルファイルに名前を付けて保存する時は、SaveAsメソッドを使います。 コード 解説 新しいエクセルファイルの編集後(シート追加など)に、SaveAsメソッドで名前を付けて...
VBAテクニック辞典

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Worksheets.Addで追加 ワークシートを追加する時は、Addメソッドを使います。 コード 解説 実行すると、アクティブシートの左側に新しいワークシートが追加されます。 ワークシートを追加後は、追加した新しいシ...
VBAテクニック辞典

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

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

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

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