|
Sub TEST6_2()
Dim S1 As Worksheet, S2 As Worksheet
Dim vntArray As Variant
Dim GYO As Long, COL As Long
Dim GYO2 As Long, COL2 As Long, IX As Long
Set S1 = Worksheets("Sheet1")
Set S2 = Worksheets("Sheet2")
' 4行×3列の場合の配置の配列を作成
vntArray = Array("11", "12", "13", _
"21", "22", "23", _
"31", "32", "33", _
"41", "42", "43")
' 1セルずつ配置を変更して転記
IX = 0
' 行のループ
For GYO = 1 To 3
' カラムのループ
For COL = 1 To 4
' 転記先の行列を判定
GYO2 = CLng(Left$(vntArray(IX), 1))
COL2 = CLng(Right$(vntArray(IX), 1))
' 単一セルの転記
S2.Cells(GYO2, COL2).Value = S1.Cells(GYO, COL).Value
' インデックスを加算
IX = IX + 1
Next COL
Next GYO
End Sub
サンプルなのですが、上記のマクロについて質問があります。
GYO2 = CLng(Left$(vntArray(IX), 1))
COL2 = CLng(Right$(vntArray(IX), 1))
の部分で、ウォッチ式でステップ実行していくと、IXが0であるため、
vntArrayが11という値は理解できるのですが、
GYO2やCOL2になぜ値1が入るのか理解できません。
どなたか解説お願いします。
|
|