配列

配列(一次元/二次元)

(Dim arr as Variant)配列が初期化されているのかどうか調べる【isEmpty】【ExcelVBA】

配列が初期状態かどうか調べる 厳密には配列が初期化されているのかどうかではなく、 配列として使用を考えているVariantが初期化されているのかどうか、です。 まとめ 配列をEraseで初期化する (...
0
配列(一次元/二次元)

配列をRedimPreserveで要素数を増やすor減らす【Redim Preserveステートメント】【ExcelVBA】

Redim Preserveで要素数を増やすor減らす まとめ Eraseステートメントは初期化 Redimは再初期化・再定義(要素は全て消える)。 Redim Preserveは再定義(要素は残した...
0
配列(一次元/二次元)

配列をRedimで再初期化する【Redimステートメント】【ExcelVBA】

Redimで配列を再初期化する まとめ Eraseステートメントは初期化 Redimは再初期化・再定義(要素は全て消える)。 Redim Preserveは再定義(要素は残したまま) ※要素数を増やす...
0
配列(一次元/二次元)

配列の値を変更・更新する(1次元/2次元)

VBAで高速処理に欠かせない配列処理 ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。 大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、 ...
0
配列(一次元/二次元)

配列の要素に値を入れる【For文】

VBAで高速処理に欠かせない配列処理 ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。 大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、 ...
0
配列(一次元/二次元)

配列の値を取得する(1次元/2次元)【For文で取得】

VBAで高速処理に欠かせない配列処理 ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。 大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、 ...
0
配列(一次元/二次元)

配列の値を取得する(1次元/2次元)【ForEach文で取得】

VBAで高速処理に欠かせない配列処理 ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。 大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、 ...
0
配列(一次元/二次元)

二次元配列で条件に該当した行を 別の配列にコピーする【ExcelVBA】

二次元配列内の要素で一致した行だけ別の配列にコピーしたい(抜き出ししたい)場合があります。 単純にFor~Loopで処理し、別の配列にコピーします。 条件に該当した行を抜き出しするサンプルコード サン...
0
配列(Dictionary)

Dictionaryにキーが存在するかチェックする【Existsメソッド】【ExcelVBA】

構文 object.Exists ( key ) as Boolean key    ・・・ 指定した内容がDictionaryのキーに存在してるかチェックする。【必須】 戻り値・・・True→存在す...
0
配列(Dictionary)

Dictionaryにキーと要素を追加する【Addメソッド】【ExcelVBA】

構文 object.Add key, item key    ・・・追加する引数 item と紐づける引数 key を指定。【必須】item   ・・・追加する引数 key と紐づける引数 item ...
0
配列(一次元/二次元)

一次元配列の要素の合計値を求める【ExcelVBA】

一次元配列の要素の合計値を求めたい 一次元配列の要素を全て足したい(ExcelのSum関数の動き)ケースがあります。 VBAには全ての要素を足す専用の関数は用意されていないので、Excel関数(Sum...
0
配列(一次元/二次元)

二次元配列をランダムに並び替える処理をパーツ化する【Rnd関数】【ExcelVBA】

二次元配列をランダムに並び替えたい ランダムに並び替えるのに、特に難しい処理をしているわけではありません。 下記手順で並び替え可能です。 ①二次元配列の列を一つ増やす。 ②Rnd関数でランダムな値(乱...
2
配列(一次元/二次元)

一次元配列で〇番目の指定要素を削除する【ExcelVBA】

配列内の指定した要素を、削除したい場合があります。 ■削除例 重複したデータを削除したい場合はDictionaryステートメントで削除が可能です。 配列内で指定した文言の要素を抜き出したい場合はFor...
0
配列(一次元/二次元)

配列で条件に「完全一致」した要素を取得する【ExcelVBA】

配列内の要素を、完全一致で検索したい場合があります。 Dictionaryの連想配列へ格納して検索した方が高速ですが、コード内の値の重複が許可されません。 ここでは単純にFor~Loopで処理する形を...
0
配列(一次元/二次元)

配列から空白(Empty)を削除する【ExcelVBA】

セルを配列に取り込んだ際、空白が入り込んでしまった場合など、 空白を削除したい場合があります。 除去したいものがEmptyもしくは空文字列の場合は以下のコードで取り除くことが可能です。 配列から空白を...
0
配列(一次元/二次元)

配列(静的/動的)を別の配列にコピーする【ExcelVBA】

配列を別の配列にコピーしたい場合があります。 注意しないといけないのは静的配列と動的配列でコードの記載方法が異なります。 静的配列をコピーするサンプルコード 一次元配列、二次元配列共に静的配列の場合は...
0
配列(一次元/二次元)

一次元配列の並びを反転させる(降順に並び替える)【ExcelVBA】

使い方 上記をコピペでお好きなモジュール内に記載してください。 注意点 昇順のデータは、降順に並び替えします。 配列を昇順にしたい場合は、以下の記事を参照してください。 一次元配列を並び替え(ソート)...
0
配列(一次元/二次元)

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

使い方 上記をコピペでお好きなモジュール内に記載してください。 注意点 ソート方法は「クイックソート」です。 クイックソートはバブルソートなど他の一般的なソート処理の中で高速と言われています。 ただし...
0
配列(Dictionary)

配列内の重複した要素を削除する【Dictionary】【ExcelVBA】

Dictionaryクラス(連想配列)を利用して、一次元配列の重複要素を削除する事が可能です。 Dictionaryは重複した値を格納する事が出来ません。その特性を活用します。 配列で条件に一致した要...
0
配列(一次元/二次元)

配列で条件に「部分一致」した要素を取得する【Filter関数】【ExcelVBA】

Filter関数は配列から指定した文字列を含む配列だけを返します。 要素の検索をする場合や、フィルタリング(指定した文字列の要素数がどれくらいあるか)に使用します。 構文 Filter(SourceA...
0