|
▼初心者さっち さん:
>>Transposeを調べて見てください。
>調べたのですが、どのように使うか理解できませんでした。
>ううう。
Transposeは、kanabunさんのレスを参考にしてください。
左上のセルのアドレスを割り出してみました。
さっちさんの書き込みの内容をそのままコード化すると、こんな感じですか?
結果は、イミディエイトで見てください。
お昼を食べながら書いたので、バグがあるかも。
Sub Test1()
Dim r As Long
Dim c As Integer
Dim i As Long
Dim Col(1 To 6) As String
Dim Sou_adr() As String 'コピー元のアドレス配列
Dim Des_adr() As String 'コピー先のアドレス配列
'コピー元のアドレス生成
ReDim Sou_adr(0): i = 0
For r = 11 To 1027 Step 4
For c = 18 To 36 Step 9
ReDim Preserve Sou_adr(i)
Sou_adr(i) = Cells(r, c).Address(0, 0)
i = i + 1
Next
Next
'コピー先のアドレス生成
ReDim Des_adr(0): i = 0
Col(1) = "c": Col(2) = "E": Col(3) = "H"
Col(4) = "K": Col(5) = "M": Col(6) = "P"
For r = 5 To 2100 Step 16 '実際は To ・・いくつ?
For c = 1 To 6
ReDim Preserve Des_adr(i)
Des_adr(i) = Range(Col(c) & r).Address(0, 0)
i = i + 1
Next
Next
Erase Col
'Debug.Print UBound(Sou_adr)
'Debug.Print UBound(Des_adr)
For i = 0 To 99 'とりあえず、100パターン書き出し
Debug.Print Sou_adr(i) & " → " & Des_adr(i)
Next
Erase Sou_adr
Erase Des_adr
End Sub
|
|