アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしてのVBA

配列を使う

配列を使う


  Excelの表は、そのままで2次元配列ですよね。

  Excel の VBA で配列を使うメリットは、セルの内容(Rangeオブジェクト)を配列に入れて
  高速に処理できることです。

  私の実験では10倍ぐらい速くなります。

  ただし、配列に入れられるのは、セルの値だけなので、プロパティなどの操作はできま
  せん。

  セルの内容を配列に入れるには test1 のようにします。

Sub test1()

    Dim Arrange As Variant
    
    Arrange = Range("A1:K100")

End Sub

  バリアント型変数にRangeオブジェクトを代入します。

  バリアント型変数に代入することで変数Arrangeも配列になります。

  最初から

   Dim AA(100,11) As Long

   AA = Range("A1:K100")

  こうしてもコンパイルエラーになります。

  
  逆に、配列からセルに代入するには test2 のようにします。

Sub test2()

    Dim Arrange(100, 11) As Integer
    
    Dim i, j, Max_Column As Integer
    
    
    For i = 1 To 100
        For j = 1 To Columns("K").Column
            Arrange(i, j) = i * j
        Next
    Next

    Range("A1:K100") = Arrange
        
End Sub



Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.