配列から、検索文字を含んだ配列を作成
配列 tbl1
の5列目のデータが指定された文字列と一致する行を抽出し、それを別の配列 tbl2
に格納するためのコードを以下に示します。この例では、tbl1
と tbl2
は配列として扱われていると仮定しています。
Sub ExtractRows()
Dim tbl1 As Variant
Dim tbl2 As Variant
Dim searchValue As String
Dim i As Long, j As Long, k as long
Dim rowCount As Long, colCount As Long
' tbl1にデータを設定する(仮のデータ)
' 例: tbl1 = Range("A1:E10").Value
' 適切なデータソースに置き換えてください。
' 検索する文字列を設定する(例: "指定文字")
searchValue = "指定文字"
' tbl1の行数と列数を取得
rowCount = UBound(tbl1, 1)
colCount = UBound(tbl1, 2)
' tbl2の初期化(最大でtbl1と同じサイズ)
ReDim tbl2(1 To rowCount, 1 To colCount)
' 検索と抽出の処理
j = 1 ' tbl2の行インデックス
For i = 1 To rowCount
' 5列目(列番号4)のデータが指定文字列と一致するか確認
If tbl1(i, 5) = searchValue Then
' 一致する行をtbl2に追加
For k = 1 To colCount
tbl2(j, k) = tbl1(i, k)
Next k
j = j + 1
End If
Next i
' tbl2に格納されたデータを出力する(仮の出力方法)
' 例: Range("G1").Resize(j - 1, colCount).Value = tbl2
End Sub