- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAのデータ抽出(間引き)について)
VBAでのデータ抽出について
このQ&Aのポイント
- VBAを使用してデータ抽出を行う方法について教えてください。
- データ量が多い場合には間引き(抽出)することが効果的です。
- 指定の条件を満たすデータを別シートにコピーするVBAコードを教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 日付時間データがA列、数値データがB列にあり、途中に空白行はないものとします。 データがあるのがSheet1でSheet2に転記します。 データはA1セルから始まっているものとしましたが、もしA2なら Set myC = .Range("A1") 'データ開始位置 の部分を変えてください。 Sub test01() Dim myC As Range, tg As Range '変数宣言 Dim x As Double Dim i As Long With Sheets("Sheet1") 'Sheet1で Set myC = .Range("A1") 'データ開始位置 Do While myC <> "" 'データがある限り x = Application.Max(myC.Offset(, 1).Resize(10)) '対象10セルの最大値取得 Set tg = myC.Offset(, 1).Resize(10).Find(What:=x, LookAt:=xlWhole) '最大値セル位置取得 i = i + 1 'カウント tg.Offset(, -1).Resize(, 2).Copy Sheets("Sheet2").Cells(i, "A").Resize(, 2) '対象行コピペ Set myC = myC.Offset(10) '10行下に移動 Loop '繰り返す End With Set myC = Nothing '後処理 Set tg = Nothing End Sub
お礼
本当にありがとうございました。 お陰様で解決いたしました。