配列(一次元/二次元)

配列(一次元/二次元)

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
配列(一次元/二次元)

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

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

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

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

一次元配列をシートに反映する処理をパーツ化【ExcelVBA】

高速化のため配列で計算することは多いと思います。 最終的に結果をワークシートへ貼り付ける処理も多く、 今回パーツ化したのでコピペでそのまま使用可能です。 上記をお好きなモジュール内にコピペしてください...
0
配列(一次元/二次元)

(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
配列(一次元/二次元)

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

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

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

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

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

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

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

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

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

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

【改良】二次元配列の行列(縦横)を入れ替える【ExcelVBA】

使い方 注意点 二次元配列しか対応していません。(三次元配列などの多次元配列は対応できません。) 関連記事 二次元配列の一次元目を増やす場合、Transposeを使って65537件以上のデータを処理し...
1
配列(一次元/二次元)

CSVファイルを二次元配列に格納する【ExcelVBA】

CSVファイルを二次元配列に格納したい CSVファイルを配列に格納して、配列上で処理させたい場合があります。 よく使う処理のため、パーツ化しています。 CSVファイルを二次元配列に格納するサンプルコー...
0
配列(一次元/二次元)

「二次元配列を動的に行数(一次元目)を減らす」をパーツ化する【ExcelVBA】

使い方 上記をコピペでお好きなモジュール内に記載してください。 結果イメージ 基本は増やすと同じ考えです。 動的に増やすことは問題ないのですが、あまりにも処理が多いと時間がかかりすぎてしまいます。 そ...
0
配列(一次元/二次元)

一次元配列の要素の重複を除く【Unique関数】【ExcelVBA】

一次元配列の要素の重複を除きたい 一次元配列の要素の重複を除きたい場合があります。 連想配列Dictionaryであれば処理ができるのですが、違うやり方もあります。 VBAには重複要素を除く関数は用意...
0