Excel VBA質問スレ Pa ..
[2ch|▼Menu]
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