ExcelVBA

VBATips

エクセル起動時にマクロを実行させない【auto_open】【Workbook_Open】【ExcelVBA】

エクセル起動時にマクロを実行させない(起動時処理の無効化) Workbook_OpenやAuto_Openの記述があるマクロ付きエクセルブックは、 ブックを開く際にWorkbook_Open、Auto...
0
関数・メソッド

セルにテーマカラーを設定する【ThemeColorプロパティ】【ExcelVBA】

ThemeColorプロパティ セルにテーマカラーを設定するにはThemeColorプロパティを使用します。 ページレイアウトのテーマと連動して背景色が変わるので、後からテーマを変更しても統一感があり...
0
VBATips

罫線を無しにする【Borders.LineStyle】【ExcelVBA】

罫線を「無し」という種類にする Border.LineStyleプロパティから、罫線を「無し」という種類にして罫線を削除することができます。 その場合、Borders.LineStyleの設定値を x...
0
VBATips

ごみ箱を空にする【SHEmptyRecycleBin】【ExcelVBA】

Windowsのゴミ箱を空にしたい VBAマクロを実行する際、以下を利用して、削除する場合があります。 フォルダ削除(RmDirステートメント) ファイルをゴミ箱に移動する【Namespace(10)...
0
配列(一次元/二次元)

RedimPreserveより事前に領域確保したほうが速度が出る【ExcelVBA】

マクロ開発時、二次元配列の要素数が読めない場合、RedimPreserveで指定や要素の入れ直しで 二次元配列を最小の要素数→任意の行数の配列で処理することは、処理自体奇麗と考えます。 処理は奇麗でも...
0
配列(一次元/二次元)

配列の指定した範囲を抜き出す(インデックス番号でFromTo)【ExcelVBA】

使い方 上記をコピペでお好きなモジュール内に記載してください。 注意点 元のインデックス番号は保持したまま処理をします。 ※必要あれば要素数計算してRedimPreserveするコードです。 関連記事...
0
配列(一次元/二次元)

RedimPreserveはフィルタの動きは出来ずインデックス番号が変わるだけ【ExcelVBA】

RedimPreserveは要素を保持したまま要素数を増やすことが多いと思います。 開発案件で、配列arr(1 to 5)から、arr(3)~arr(5)を抜き出したい案件がありました。 配列をFor...
0
配列(一次元/二次元)

一度Dim宣言すると配列の添え字の始まりは変更できない(けどVariant型は関係ない)【ExcelVBA】

当方のオンラインマクロ受講者に聞かれて、少し調べた案件です。 マクロを主に仕事としていても、普段使わないものはわかっていないものがあり、日々勉強だと感じました。 ---- Redim Preservで...
0
配列(一次元/二次元)

一次元配列を降順並び替え(ソート)する【ExcelVBA】

使い方 上記をコピペでお好きなモジュール内に記載してください。 注意点 一次元配列の中身を昇順並び替え(ソート)する 一次元配列を降順並び替え(ソート)する(今回はこれ) 一次元配列の並びを反転させる...
0
関数・メソッド

文字列を列幅に合わせて複数のセルに分割する【Justifyメソッド】【ExcelVBA】

Justifyメソッド セル内に文字列が入りきらないとき、列幅に合わせて文字列を下のセルに分割する機能です。 このメソッドを使用すると、実行時に文字列を分割するかどうか確認するメッセージが表示されます...
0
関数・メソッド

複数に分けられたセル範囲を取得する【Areasプロパティ】【ExcelVBA】

Areasプロパティ Areasプロパティは範囲内にあるセル領域の集まり(コレクション)です。 隣接しているセル領域を複数取得する場合に使用します。 単一のセル範囲を返すときは、引数にインデックス番号...
0
関数・メソッド

複数の選択範囲をまとめて処理を行う【Unionメソッド】【ExcelVBA】

Unionメソッド Unionメソッドは複数のセルやセル範囲をまとめて操作する機能です。 2つ以上の選択範囲で一度に同じ処理を行うことができます。 同時に処理ができるのは最大30個までです。 構文 U...
0
関数・メソッド

引数を任意の数だけ渡せるプロシージャを作る【ParamArrayキーワード】【ExcelVBA】

ParamArrayキーワード Sub/Functionプロシージャを作る際に引数の数を不定にしたいときは、 ParamArrayキーワードを使うことで引数の数を可変にすることができます。 構文 Su...
0
関数・メソッド

プロシージャの引数を省略可能にする【Optionalキーワード】【ExcelVBA】

Optionalキーワード プロシージャの引数宣言時に、Optionalキーワードを使った引数を省略することができます。 汎用性の高い関数を作るときに便利ですが、 省略することで返ってわかりにくくなる...
0
関数・メソッド

複数の値を渡すプロシージャを作成する【ByRefキーワード】【ExcelVBA】

Functionで複数の値を渡したい VBAでは関数の戻り値はひとつしかないので、複数の戻り値が欲しいとき困りますよね。 ByRefキーワードを利用すれば、いくつかの引数をプロシージャに渡すことができ...
0
配列(一次元/二次元)

二次元配列にヘッダー(一次元配列で準備)を追加する処理をパーツ化する【ExcelVBA】

二次元配列内でデータ処理した後、エクセルに反映する前にヘッダー行を付与したいケースがあります。 今回の記事は、データの2次元配列とヘッダーの1次元配列を準備し、結合するコードを説明します。 二次元配列...
0
関数・メソッド

セルの行番号と列番号を指定して選択する【Cellsプロパティ】【ExcelVBA】

Cellsプロパティ 1.単一のセルを選択するときは、Cellsプロパティを使用します。  Cells(行番号, 列番号).Select 2.行、列番号を指定しなければシート全体を選択することも可能で...
0
VBATips

(あいまい検索)ニ次元配列に指定した文字が含まれるかどうか判定する【パーツ化】

ニ次元配列内に指定した文字が含まれるかどうか判定したい(部分一致/あいまい検索) 配列データと指定文字を完全一致ではなく、あいまい検索したい場合があります。 パーツ化することで、今後の開発の時短に繋が...
0
配列(一次元/二次元)

ニ次元配列に指定文字が存在しているかどうか判定する【パーツ化】

指定した文字が配列内存在しているかどうか判定したい 配列データと指定文字が一致する場合のみ処理するなど、配列内の中身のチェックをしたい場合があります。 パーツ化することで、今後の開発の時短に繋がります...
0
VBATips

MsgBoxの改行を簡単に入力したい【Function化】【ExcelVBA】

0