配列(一次元/二次元)

配列(一次元/二次元)

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

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

一次元配列/二次元配列のまとめ(逆引き目次)

配列記事のまとめです。配列処理となると厄介だから勉強していない!という初心者の方も多いでしょう。配列は、ワークシート内のセル範囲と配列は同様と考えると簡単かもしれません。配列をマスターする事で、データ...
0
配列(一次元/二次元)

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

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

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

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

二次元配列で〇番目の列を削除する【ExcelVBA】

二次元配列内の指定した列(横方向の要素)を、削除したい場合があります。今回の記事は特定の〇番目の指定列を行削除するコードを説明します。二次元配列で〇番目の指定列を削除するサンプルコード以下の手順で要素...
0
配列(一次元/二次元)

二次元配列で〇番目の行を削除する【ExcelVBA】

二次元配列内の指定した行(縦方向の要素)を、削除したい場合があります。今回の記事は特定の〇番目の指定行を行削除するコードを説明します。二次元配列で〇番目の指定行を削除するサンプルコードコレクションの ...
0
配列(一次元/二次元)

配列を引数として他のプロシージャに渡す【ExcelVBA】

構文Sub プロシージャ名( Array() As Data type)Function プロシージャ名( Array() As Data type) As Data type引数Arrayプロシージ...
0
配列(一次元/二次元)

配列内の要素の最大値・最小値を取得する【MAX/MIN関数応用】【ExcelVBA】

配列内の要素の最大値、最小値はWorksheet関数のMAX関数、MIN関数を使用します。これを使用しないとループする必要性が出てくるので、簡略化可能な旨理解しましょう。注意点 二次元配列の一次元部分...
0
配列(一次元/二次元)

「二次元配列を列方向に結合(マージ)する」処理をパーツ化する【ExcelVBA】

使い方上記をコピペでお好きなモジュール内に記載してください。注意点 二次元配列しか対応していません。(三次元配列などの多次元配列は対応できません。) 一次元配列の結合は下記記事を参考にしてください。2...
0
配列(一次元/二次元)

「二次元配列を行方向に結合(マージ)する」処理をパーツ化する【ExcelVBA】

使い方上記をコピペでお好きなモジュール内に記載してください。注意点 二次元配列しか対応していません。(三次元配列などの多次元配列は対応できません。) 一次元配列の結合は下記記事を参考にしてください。2...
0
配列(一次元/二次元)

2個の一次元配列を縦に結合(マージ)する【Join/Split】【ExcelVBA】

一次元配列を結合(マージ)したい二つの一次元配列をマージしたい場合、VBAでは配列を結合する関数は用意されていません。Join関数とSplit関数を使い、ロジックを組みます。一次元配列を結合(マージ)...
0
配列(一次元/二次元)

配列開始を1からスタートさせる【Option Base 1】【ExcelVBA】

配列の要素(添え字)をデフォルトの0スタートではなく、1スタートでしたい場合があります。■例・プログラミング初心者で0スタートの概念が難しい。・セルの位置と合わせたいので1スタートが望ましい。Opti...
0
配列(一次元/二次元)

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

本記事の場合、要素が65537以上だと正常な値が取得できません。こちらの記事が改良版です。注意点 Transposeの仕様上、Option Base 1を設定した方が無難です。Transeposeで変...
0
配列(一次元/二次元)

定数配列を使用する(Split/Arrayで代用)【ExcelVBA】

配列の要素を、定数として使用たい場合があります。Excelマクロには定数の要素はありませんが、Split関数を使用して定数配列っぽく使用します。■使用例・決まった値があり定数を使用したいが、コードが助...
0
配列(一次元/二次元)

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

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

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

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

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

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

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

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

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

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

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

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