VBA 配列でデータを高速抽出 配列でデータを高速抽出 Sub test() ' 配列でデータを高速抽出 Dim i, j As Long Dim A ' 元データを配列Aに代入 A = Range("A1:D" & Cells(Rows.Count, "A").End(xlUp).Row) Dim B ' 出力結果を格納する配列を設定 ReDim B(1 To UBound(A, 1), 1 To 4) j = 0 For i = 1 To UBound(A, 1) ' 抽出条件設定(名前なか「田」を含む、性別=女) If InStr(A(i, 1), "田") > 0 And A(i, 2) = "女" Then j = j + 1 ' 該当するデータを配列Bへ格納 B(j, 1) = A(i, 1) B(j, 2) = A(i, 2) B(j, 3) = A(i, 3) B(j, 4) = A(i, 4) End If Next ' 結果をセルG2に代入する Range("G2").Resize(j, 4) = B End Sub 実行結果 ― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る 参考記事 『VBA 配列とは?』 配列とは 配列は、通常配列変数でも呼ばれ、一つの変数に複数の値をまとめて格納できる特殊なデータ構造のことです。配列には、固定長配列(静的配列)と動的配列の…ameblo.jp 『VBA 配列の要素数変更』 配列の要素数変更 Sub test() ’ 配列の要素数変更 Dim Vegetabales() As String Dim Vb As Va…ameblo.jp 『VBA 配列で文字列を結合する』 実務では、場合によって文字列をつなげることがあったりします。今日は、「&」符号以外で、Join関数でつなげる方法を見てみましょう。 配列(Join関数)…ameblo.jp 『VBA 文字列を分割する(Split関数)』 実務では、CSVファイルのように、「,」など特定の符号や文字で、文字列を分割したりすることがよくあります。Split関数は、「,」(カンマ)やスペース等で区…ameblo.jp 『VBA 一次元配列をセルに代入する』 一次元配列をセルに代入する Sub test1() ' 配列をセルに代入する Dim myStr(3) As String myStr(…ameblo.jp 『VBA Array関数で値をまとめ格納』 Array関数 構文Array(arglist)配列を含む Variant を返します。引数arglistには、配列として格納するデータをカンマ(,)で区…ameblo.jp 『VBA 2次元配列で別シートへデータをコピペ』 2次元配列で、別シートへコピペ Sub test()' 2次元配列で、別シートへデータをコピペ Dim Data Dim r, c As …ameblo.jp 『VBA 配列変数を初期化』 配列変数を初期化 Sub test() ' 配列変数を初期化 Dim Yasai(3) As String Dim i As Integ…ameblo.jp
『VBA 配列で文字列を結合する』 実務では、場合によって文字列をつなげることがあったりします。今日は、「&」符号以外で、Join関数でつなげる方法を見てみましょう。 配列(Join関数)…ameblo.jp
『VBA 文字列を分割する(Split関数)』 実務では、CSVファイルのように、「,」など特定の符号や文字で、文字列を分割したりすることがよくあります。Split関数は、「,」(カンマ)やスペース等で区…ameblo.jp
『VBA Array関数で値をまとめ格納』 Array関数 構文Array(arglist)配列を含む Variant を返します。引数arglistには、配列として格納するデータをカンマ(,)で区…ameblo.jp
『VBA 2次元配列で別シートへデータをコピペ』 2次元配列で、別シートへコピペ Sub test()' 2次元配列で、別シートへデータをコピペ Dim Data Dim r, c As …ameblo.jp