|
ハチ様 皆様
>Transposeを調べて見てください。
調べたのですが、どのように使うか理解できませんでした。
ううう。
違う方法で、転記する事はできました!!!
Sub Cpy1()
Dim S1 As Worksheet, S2 As Worksheet
Dim COL As Integer
Dim GYO2 As Integer, COL2 As Integer
Set S1 = Worksheets(1): Set S2 = Worksheets(2)
'転記先初期値
GYO2 = 18
COL2 = 5
'列ループ
For COL = 5 To 12
'単一セルの転記
S2.Cells(COL2, 3).Value = S1.Cells(11, GYO2).Value
'次の行列の判定
COL2 = COL2 + 1
If COL2 < 13 Then
GYO2 = GYO2 + 1
End If
Next COL
End Sub
でも上記だと、応用がききません。
実は、これを元に連続で転記していきたいのです。
上の例では、sheets(2).cells(5,3)〜cells(12,3)
sheets(1).cells(18,11)〜cells(25,11)
の転記しかできません。
転記したいsheets(1)のデータはまだまだ下へ11行〜1207行まで4行飛ばしであります。
【sheets(1)データ】
11行のデータのセル場所 【R11:Y11】,【AA11:AH11】,【AJ11:AQ11】
15行のデータのセル場所 【R15:Y15】,【AA15:AH15】,【AJ15:AQ15】
19行のデータのセル場所 【R19:Y19】,【AA19:AH19】,【AJ19:AQ19】
23行のデータのセル場所 【R23:Y23】,【AA23:AH23】,【AJ23:AQ23】
というような具合に4行飛ばしで、1207行まで続きます。
【sheets(2)転記位置】←曲者
sheets(1)の11行目のデータを左から順に【C5:C12】,【E5:E12】,【H5:H12】
sheets(1)の15行目のデータを左から順に【K5:K12】,【M5:M12】,【P5:P12】
sheets(1)の19行目のデータを左から順に【C21:C28】,【E21:E28】,【H21:H28】
sheets(1)の23行目のデータを左から順に【K21:K28】,【M21:M28】,【P21:P28】
という具合に転記していきたいのです。
イメージが沸きにくいかもしれませんが、左→右→左下→右下→左下→右下と続いて行きます。
列は、C,E,H,K,M,P
行は16行飛ばしで下へ、と法則があります。
煮詰まっています。
どうかお力添えの程宜しくお願いします。
|
|