Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


622 / 76735 ←次へ | 前へ→

【81778】助けてください(配列での抽出について)
質問  とりとる  - 21/5/19(水) 3:16 -

引用なし
パスワード
   現在、約35万行・53列からなるブックA(csv)から、必要項目をオートフィルで抽出し、該当する項目の行データをブックBに貼り付けるというマクロを組んで使っているのですが、取り扱うデータが多く、処理に相当な時間がかかるため、配列を使って処理時間の短縮を図ろうと考えています。
流れとしては、二次元配列1にブックAのデータを格納し、必要項目に該当する行データを配列2に格納、別ブックに貼り付けるというものを作成しているのですが、うまくいかず、ご教示頂きたいです。

配列に関してはローカルウィンドウで確認する限りだとうまくいっているように見えるのですが、ResizeとUboundを用いて貼り付けようとしてもまくできません。

現在のコードです。(試作なので、ブックではなくシートで書いています)

Sub test()
  Dim r As Long, c As Long, n As Long
    r = Sheets("test").Cells(Rows.Count, 1).End(xlUp).Row
    c = 53
    n = 1
  Dim area1 As Variant, area2() As Variant
    Sheets("test").Select
    area1 = Range(Cells(1, 1), Cells(r, c))

  For i = LBound(area1, 1) To UBound(area1, 1)
    If area1(i, 2) = "MN" _
      Or area1(i, 2) = "SA" Or area1(i, 2) = "SL" Or area1(i, 2) = "SR" Or area1(i, 2) = "SU" _
      Or area1(i, 2) = "GK" Or area1(i, 2) = "GS" Or area1(i, 2) = "GC" Or area1(i, 2) = "GH" _
    Then
      ReDim Preserve area2(n)
      area2(n) = WorksheetFunction.Index(area1, i)
      n = n + 1
    End If
  Next i
  Sheets("test2").Range("A4").Resize(UBound(area2), 53) = area2
End Sub

7 hits

【81778】助けてください(配列での抽出について) とりとる 21/5/19(水) 3:16 質問[未読]
【81779】Re:助けてください(配列での抽出について) γ 21/5/19(水) 8:38 回答[未読]
【81780】Re:助けてください(配列での抽出について) TDS 21/5/19(水) 10:44 回答[未読]
【81781】Re:助けてください(配列での抽出について) とりとる 21/5/19(水) 11:54 発言[未読]
【81782】Re:助けてください(配列での抽出について) マナ 21/5/19(水) 18:33 発言[未読]
【81784】Re:助けてください(配列での抽出について) とりとる 21/5/20(木) 1:08 発言[未読]
【81783】Re:助けてください(配列での抽出について) マナ 21/5/19(水) 18:45 発言[未読]
【81785】Re:助けてください(配列での抽出について) とりとる 21/5/20(木) 1:20 質問[未読]
【81786】Re:助けてください(配列での抽出について) TDS 21/5/20(木) 17:13 発言[未読]
【81787】Re:助けてください(配列での抽出について) とりとる 21/5/20(木) 18:12 お礼[未読]
【81788】Re:助けてください(配列での抽出について) TDS 21/5/20(木) 19:45 発言[未読]
【81789】Re:助けてください(配列での抽出について) γ 21/5/24(月) 8:33 発言[未読]
【81790】Re:助けてください(配列での抽出について) とりとる 21/5/24(月) 19:24 お礼[未読]
【81791】Re:助けてください(配列での抽出について) γ 21/5/25(火) 9:45 発言[未読]
【81792】Re:助けてください(配列での抽出について) 通りすがり 21/5/26(水) 16:39 発言[未読]
【81793】Re:助けてください(配列での抽出について) 通りすがり 21/5/26(水) 16:42 発言[未読]

622 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free