Excel VBA質問スレ Pa ..
730:デフォルトの名無しさん
08/08/08 05:46:25
>>721
速度を気にするなら >>728の言う通り一度範囲を全て配列に渡してから処理する方がいい
例えばこんな感じ
Sub hoge()
Const date_N As Integer = 50
Dim Buf As Variant, Buf2 As Variant
Dim iC As Integer, iC2 As Integer, X As Integer
With Worksheets("Sheet1")
Buf = .Range(.Cells(1, 1), .Cells(250, date_N)).Value
End With
X = 1
ReDim Buf2(1 To date_N, 1 To X)
For iC = 1 To 250
If Buf(iC, 1) = "A" Then
ReDim Preserve Buf2(1 To date_N, 1 To X)
For iC2 = 1 To date_N
Buf2(iC2, X) = Buf(iC, iC2)
Next iC2
X = X + 1
End If
Next iC
ReDim Buf(1 To UBound(Buf2, 2), 1 To UBound(Buf2, 1))
For iC = 1 To UBound(Buf, 1)
For iC2 = 1 To UBound(Buf, 2)
Buf(iC, iC2) = Buf2(iC2, iC)
Next iC2
Next iC
End Sub
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4635日前に更新/336 KB
担当:undef