ExcelVBA

【ExcelVBA・マクロ】Workbook.Protectの使い方|ブックの保護・パスワード設定を自動化する方法【コピペOK】

Excelで複数人がファイルを共有していると、「シートの構成を勝手に変更されたくない」「重要なブックを誤って上書き保存されたくない」といった悩みが出てきます。この記事では、Workbook.Protectメソッドを使ってブックの構造(シート...
ExcelVBA

【ExcelVBA・マクロ】PowerPointを自動操作する方法|表・グラフからスライドを自動生成するVBAコード【コピペOK】

売上レポートや進捗報告など、Excelで集計した表やグラフを毎回PowerPointに手作業でコピー&ペーストしていませんか。この記事では、ExcelVBAからPowerPoint.Applicationを操作し、スライドの自動生成・表やグ...
ExcelVBA

【ExcelVBA・マクロ】セルの範囲やシートを画像として保存する方法|CopyPicture・チャートを使ったPNG出力【コピペOK】

Excelの表をブログやマニュアル、チャットに貼り付けたいとき、いちいちスクリーンショットを撮っていませんか。VBAを使えば、指定したセル範囲やシート全体をPNG画像として自動で書き出すことができます。この記事では、Range.CopyPi...
ExcelVBA

【ExcelVBA・マクロ】Outlookメールを自動送信する方法|宛先・本文・添付ファイルを差し込むVBAコード【コピペOK】

請求金額の案内や定型的な業務連絡など、同じ形式のメールを何十件も手作業で送っていませんか。ExcelVBAからOutlook.Applicationを操作すれば、宛先・件名・本文・添付ファイルを自動で設定し、メールをそのまま送信することがで...
ExcelVBA

【ExcelVBA・マクロ】Interior.ColorとRGB関数の使い方|セルの背景色・フォント色を自由に操作する方法【コピペOK】

セルの背景色や文字色を条件によって自動で変える処理は、VBAマクロでとてもよく使われるテクニックです。ステータスに応じて行を色分けしたり、入力漏れのセルを目立たせたりと、応用範囲は多岐にわたります。この色の操作の中心になるのがInterio...
ExcelVBA

【ExcelVBA・マクロ】配列を並び替える方法|バブルソートでRange.Sortを使わずにソートする方法【コピペOK】

セルに書き出さずに配列のままデータを並び替えたい場面は意外と多くあります。例えば、集計結果を配列に格納したまま順位付けしたり、大量データをシートに書き出す前にメモリ上で整えたりするケースです。こうしたとき、Range.Sortはセル範囲が前...
ExcelVBA

【ExcelVBA・マクロ】GetSaveAsFilenameの使い方|保存先とファイル名をユーザーに指定してもらう方法【コピペOK】

マクロで作成したブックやCSVを保存するとき、保存先やファイル名を毎回コード内に固定で書いてしまうと、使う人によって都合が悪かったり、上書きされたくないファイルを誤って上書きしてしまったりすることがあります。そんなときに便利なのがAppli...
ExcelVBA

【ExcelVBA・マクロ】Application.WorksheetFunctionの使い方|VLookup・SumIfs・CountIfsをVBAから呼び出す方法【コピペOK】

Excelのワークシート関数(VLOOKUP、SUMIFS、COUNTIFSなど)は、実はVBAのマクロの中からもそのまま呼び出せることをご存じでしょうか。VBAには同じ機能を持つ命令が用意されていない場合も多く、複雑な集計や検索処理をゼロ...
ExcelVBA

【ExcelVBA・マクロ】Type…End Type(ユーザー定義型)の使い方|複数の情報をひとまとめにする方法【コピペOK】

ExcelVBAでプログラムを組んでいると、「氏名」「年齢」「部署」のように、種類の異なる複数の情報をひとまとめにして扱いたい場面が出てきます。変数をバラバラに宣言することもできますが、関連する情報が多くなるほどコードが読みにくくなってしま...
ExcelVBA

【ExcelVBA・マクロ】Resizeプロパティの使い方|セル範囲のサイズを自由に変更する方法【コピペOK】

ExcelVBAでセル範囲を操作していると、「取得したRangeを基準に、もう少し広い範囲や狭い範囲を扱いたい」という場面によく出会います。そんなときに便利なのがResizeプロパティです。この記事では、Resizeプロパティの基本的な使い...