EXCEL VBA 便利なVBAコード・サンプルプログラム一覧・覚えると便利・効率が上がる。パート①

 

 

EXCEL VBA 便利なVBAコード・サンプルプログラム一覧・覚えると便利・効率が上がる簡単なプログラム:パート①

 

 

 ●はじめに

今回説明するのは、普段EXCEL VBAでプログラムを作成するときに、覚えると便利なショートプログラムを纏めました。これから説明するプログラムは、EXCEL VBAでプログラムを作成するうえでは、頻繁に利用したりこれからVBAを覚える方もこの部分は抑えて欲しい内容もありますので、Excel VBAに関する便利なコードの説明を分かり易く纏めました。それでは、サンプルプログラムを交えて順番に説明いたします。

 

【EXCEL VBAで覚えると便利なコードを紹介します】
① 指定したシートを作成する方法(ワークシートの複製)
② 指定されたシート内の特定の列で設定した文字列データの抽出(フィルタリング)します。
③ 指定されたシートで並び替え(ソート)を行います。
④ 指定された範囲内のセルを結合(マージ)します。
⑤ 指定されたシートにテキストボックスを作成します。
⑥ 指定された範囲内の条件に応じてセルの背景色や書式などを変更します。

 

 

 

EXCEL VBA 指定したシートを作成する方法(ワークシートの複製・コピー)※ショートプログラム(コード)①

 

 

 ●プログラム説明 (サンプル①)

下記のサンプルプログラムは、指定したシートのワークシートを複製(コピー)するサンプルプログラムです。


【プログラム実行条件】

① ThisWorkbook オブジェクトに “マスター” シートが存在すること。
② ThisWorkbook.Sheets.Count が有効な値を返していること。
③ ws.Copy メソッドが正常に実行されること。

 

 

 

●実行前~実行後 ※プログラム実行後、コピー元の「マスター」をコピー(複製)されました。
(画面クリックして拡大)

 

 

 

EXCEL VBA 指定されたシート内の特定の列で設定した文字列データの抽出(フィルタリング)します。※ショートプログラム(コード)②

 

 

 ●プログラム説明 (サンプル②)

下記のサンプルプログラムは、指定したワークシートにあるデータから指定した項目をオートフィルターを利用してデータを抽出します。

【詳しくオートフィルターを知りたい方は、下記リンクをクリックして下さい。】

EXCEL VBA オートフィルタでデータの抽出・条件・設定方法 (AutoFilter)

 

【プログラム実行条件】

①シート名: 「データ」が存在することを確認してください。存在しない場合は、正しいシート名に変更する必要があります。必要に応じて変更して下さい。
②列名: 「A1:D1」の範囲にフィルターを設定することによって、列名が「A1:D1」に含まれていることが前提となります。※AからB列は必須
③フィルター条件: 「ノートパソコン」が存在することを確認してください。存在しない場合は、正しいフィルター条件に変更する必要があります。
④列番号: 2列目(B列)にフィルターを設定することになっています。列番号が異なる場合は、適切な列番号に変更する必要があります。(A列が1・B列が2・C列が3)

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、シート「データ」のデータ一覧に対して、B列の「品目」ノートPCが抽出されました。
(画面クリックして拡大)

 

 

 

EXCEL VBA 指定されたシートで並び替え(ソート)を行います。※ショートプログラム(コード)③

 

 

 ●プログラム説明 (サンプル③)

下記のサンプルプログラムは、指定したワークシートにあるデータから指定した項目でデータをソート(並び替え)します。
【詳しくソートを知りたい方は、下記リンクをクリックして下さい。】

EXCEL VBA データの並び替え Sort

 

【プログラム実行条件】

①シート名: 「売上」が存在することを確認してください。存在しない場合は、正しいシート名に変更する必要があります。
②範囲: 「A1:C11」の範囲に対してソートを実行することになっていますが、この範囲にデータが存在しているか確認してください。C列は必須です。
③ソートキー: 「C2」セルに対してソートキーが設定されていますが、このセルにデータが存在しているか確認してください。
④ソートオプション: 「xlAscending」オプションで昇順ソートが設定されます。数字の大きい順で並び替えます。

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、C列(売上)の金額が大きい順番(降順)にデータが並び変わりました。(ソートされる)
(画面クリックして拡大)

 

 

 

 

EXCEL VBA セルの結合:指定された範囲内のセルを結合します。※ショートプログラム(コード)④

 

 

 ●プログラム説明 (サンプル④)

下記のサンプルプログラムは、指定された範囲内のセルを結合するサンプルプログラムです。

【詳しくセル結合を知りたい方は、下記リンクをクリックして下さい。】

EXCEL VBA セルの結合・結合セルの解除・結合セルの参照 (MergeCells・MergeArea)

 

【プログラム実行条件】
① シート名: 「結合」という名前のシートが存在することを確認してください。存在しない場合は、正しいシート名に変更する必要があります。
② 繰り返し処理: 「For I = 1 To ws.Cells(Rows.Count, “A”).End(xlUp).Row」という記述は、A列の最終行まで繰り返すということです。この最終行を確認してください。
③ 結合する範囲: 「ws.Range(“D” & I & “:E” & I).Merge」という記述は、D列とE列を結合するということです。この範囲が適切か確認してください。
④ 既存の結合セル: 結合されたセルをもう一度結合することはできません。このマクロを実行する前に、既存の結合セルがあるか確認してください。

 

 

 

 

●実行前~実行後 ※プログラム実行後、D列とE列のセルが結合され、住所データが一つのセルに結合されました。
(画面クリックして拡大)

 

 

EXCEL VBA 指定されたシートにテキストボックスを作成します。※ショートプログラム(コード)⑤

 

 

 ●プログラム説明 (サンプル⑤)

下記のサンプルプログラムは、指定されたシートにテキストボックスを作成します。

【プログラム実行条件】
① シート名: “Text”というシートが存在することが前提となっています。このシート名が異なる場合は、コードを修正する必要があります。
② テキストボックスの位置とサイズ: (10, 10)から200×50ピクセルのテキストボックスが作成されます。この位置とサイズを変更する場合は、コードを修正する必要があります。

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、指定したシート「text」に 位置(10,10)とサイズ:からなる200×50ピクセルのテキストボックスが作成(表示)されました。
(画面クリックして拡大)

 

 

EXCEL VBA 指定された範囲内の条件に応じてセルの色や書式を変更します。※ショートプログラム(コード)⑥

 

 

 ●プログラム説明 (サンプル⑥)

下記のサンプルプログラムは、指定された範囲の条件に応じてセルの色や書式を変更するサンプルプログラムです。

【詳しくセルの条件付き書式の設定を知りたい方は、下記リンクをクリックして下さい。】

EXCEL VBA セルの条件付き書式の設定・(書式・文字色・背景色・入力条件により処理操作・条件に合うセル)

 

【プログラム実行条件】
① シート名: “書式”というシートが存在することが前提となっています。このシート名が異なる場合は、コードを修正する必要があります。
② 対象範囲: B2からB10のセルにのみ条件付き書式が適用されます。この範囲を変更する場合は、コードを修正する必要があります。
③ 条件と色: セル値が60より大きい場合に、セルの背景色を黄色に塗りつぶします。この条件や色を変更する場合は、コードを修正する必要があります。

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、B列に条件付き書式が設定されました。B列のセルに60を超える数値が登録されているセルの背景色が条件付き書式設定により黄色で塗りつぶされました。
(画面クリックして拡大)

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。