配列(一次元/二次元)(Dim arr as Variant)配列が初期化されているのかどうか調べる【isEmpty】【ExcelVBA】 配列が初期状態かどうか調べる 厳密には配列が初期化されているのかどうかではなく、 配列として使用を考えているVariantが初期化されているのかどうか、です。 まとめ 配列をEraseで初期化する (...2023.11.250配列(一次元/二次元)
配列(一次元/二次元)配列をRedimPreserveで要素数を増やすor減らす【Redim Preserveステートメント】【ExcelVBA】 Redim Preserveで要素数を増やすor減らす まとめ Eraseステートメントは初期化 Redimは再初期化・再定義(要素は全て消える)。 Redim Preserveは再定義(要素は残した...2023.11.180配列(一次元/二次元)
配列(一次元/二次元)配列をRedimで再初期化する【Redimステートメント】【ExcelVBA】 Redimで配列を再初期化する まとめ Eraseステートメントは初期化 Redimは再初期化・再定義(要素は全て消える)。 Redim Preserveは再定義(要素は残したまま) ※要素数を増やす...2023.11.170配列(一次元/二次元)
配列(一次元/二次元)指定した文字が配列内存在しているかどうか判定する【パーツ化】 指定した文字が配列内存在しているかどうか判定したい 配列データと指定文字が一致する場合のみ処理するなど、配列内の中身のチェックをしたい場合があります。 パーツ化することで、今後の開発の時短に繋がります...2023.01.152023.09.220配列(一次元/二次元)
配列(一次元/二次元)配列の値を変更・更新する(1次元/2次元) VBAで高速処理に欠かせない配列処理 ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。 大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、 ...2023.01.142023.06.120配列(一次元/二次元)
配列(一次元/二次元)配列の要素に値を入れる【For文】 VBAで高速処理に欠かせない配列処理 ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。 大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、 ...2023.01.132023.06.120配列(一次元/二次元)
配列(一次元/二次元)配列の値を取得する(1次元/2次元)【For文で取得】 VBAで高速処理に欠かせない配列処理 ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。 大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、 ...2023.01.122023.06.120配列(一次元/二次元)
配列(一次元/二次元)配列の値を取得する(1次元/2次元)【ForEach文で取得】 VBAで高速処理に欠かせない配列処理 ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。 大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、 ...2023.01.112023.06.120配列(一次元/二次元)
配列(一次元/二次元)【改良】二次元配列の行列(縦横)を入れ替える【ExcelVBA】 使い方 注意点 二次元配列しか対応していません。(三次元配列などの多次元配列は対応できません。) 関連記事 二次元配列の一次元目を増やす場合、Transposeを使って65537件以上のデータを処理し...2022.10.061配列(一次元/二次元)
配列(一次元/二次元)CSVファイルを二次元配列に格納する【ExcelVBA】 CSVファイルを二次元配列に格納したい CSVファイルを配列に格納して、配列上で処理させたい場合があります。 よく使う処理のため、パーツ化しています。 CSVファイルを二次元配列に格納するサンプルコー...2022.10.052022.11.210配列(一次元/二次元)
配列(一次元/二次元)「二次元配列を動的に行数(一次元目)を減らす」をパーツ化する【ExcelVBA】 使い方 上記をコピペでお好きなモジュール内に記載してください。 結果イメージ 基本は増やすと同じ考えです。 動的に増やすことは問題ないのですが、あまりにも処理が多いと時間がかかりすぎてしまいます。 そ...2022.10.042024.03.040配列(一次元/二次元)
配列(一次元/二次元)一次元配列の要素の重複を除く【Unique関数】【ExcelVBA】 一次元配列の要素の重複を除きたい 一次元配列の要素の重複を除きたい場合があります。 連想配列Dictionaryであれば処理ができるのですが、違うやり方もあります。 VBAには重複要素を除く関数は用意...2022.10.030配列(一次元/二次元)
配列(一次元/二次元)二次元配列の一次元目を増やす場合、Transposeを使って65537件以上のデータを処理した場合 二次元配列の一次元目の要素を増やすには以下方法があります。 Transpose関数をうまく使う方法 別配列に代入する方法 実際には65537件以上はTranspose関数を利用した場合は正常にデータ取...2022.09.092022.09.160配列(一次元/二次元)
配列(一次元/二次元)二次元配列の一次元目を増やす場合、Transposeもしくは別配列代入はどちらが早いか? 二次元配列の一次元目の要素を増やすには以下方法があります。 Transpose関数をうまく使う方法 別配列に代入する方法 実際には65537件以上はTranspose関数を利用した場合は正常にデータ取...2022.09.082022.09.160配列(一次元/二次元)
配列(一次元/二次元)【改良】「二次元配列を動的に行数(一次元目)を増やす」をパーツ化する【ExcelVBA】 使い方 上記をコピペでお好きなモジュール内に記載してください。 結果イメージ 下記のように行数が増えます。(上記サンプルでは配列にデータ格納はしてませんが、イメージです) 注意点 通常、最終次元しか増...2022.09.072023.02.245配列(一次元/二次元)
配列(一次元/二次元)一次元配列で完全一致した要素が何番目かを取得する【ExcelVBA】 配列内の要素で完全一致した要素が何番目か取得したい場合があります。 単純にFor~Loopで処理します。 一次元配列で完全一致した要素が何番目かを取得するサンプルコード 実際の使い方 その他 配列の要...2022.09.052022.09.100配列(一次元/二次元)
配列(一次元/二次元)二次元配列で〇番目に空白行を追加する【ExcelVBA】 二次元配列内の指定した列(縦方向の要素)に空白行を追加したい場合があります。 今回の記事は特定の〇番目の指定行を列追加するコードを説明します。 二次元配列で〇番目の指定行に空白行を追加するサンプルコー...2022.09.042022.09.100配列(一次元/二次元)
配列(一次元/二次元)「二次元配列で任意の列をキーに複数ソート(並び替え)」をパーツ化する【ExcelVBA】 使い方 上記をコピペでお好きなモジュール内に記載してください。 注意点 Option Base 1を設定しないと動作しません ソート方法は「クイックソート」です。 関連記事 一次元配列を昇順並び替え(...2022.06.250配列(一次元/二次元)
配列(一次元/二次元)フォルダ内指定条件のファイル名をフルパスで配列として取得する【ExcelVBA】 フォルダ内、指定条件に合致したファイルを配列として取得したい 特定のファイル名のみに対して処理したい場合など、 フォルダ内のファイルを任意条件で取得したい場合があります。 配列で取得するとそのあとのコ...2022.06.080配列(一次元/二次元)
配列(一次元/二次元)セル範囲を一次元配列として取得する【ExcelVBA】 セル範囲を1次元配列として取得したい 通常、ワークシート内のセルを取得し配列化すると、二次元配列として処理されます。 ※ワークシート自体が二次元配列のため。 ただ、プログラム上は一次元配列で取得、処理...2022.06.070配列(一次元/二次元)