アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルマクロで、データを別シートにコピーしたいです。もとデータは行を、コピー先は列を、それぞれ変化させながら、コピーしたいです。

具体的に説明します。
今、下記のマクロを作りました。
macro1_…からmacro3_…、途中とんで、macro17_…まで作りました。
macro4_…からmacro16_…の分をこれからひとつずつ作るよりも、もっとよいマクロが知りたいです。
どうぞよろしくお願いします。


Sub macro1_sheet4の3列目の1行目から15行目のデータを、sheet1の2行目の2列目から16列目にコピー()
Dim i As Long
For i = 1 To 15
Sheets("Sheet4").Cells(i, 3).Copy Destination:=Sheets("Sheet1").Cells(2, i + 1)
Next i
End Sub

Sub macro2_sheet4の3列目の31行目から45行目のデータを、sheet1の3行目の2列目から16列目にコピー()
Dim i As Long
For i = 1 To 15
Sheets("Sheet4").Cells(30 + i, 3).Copy Destination:=Sheets("Sheet1").Cells(3, i + 1)
Next i
End Sub

Sub macro3_sheet4の3列目の61行目から75行目のデータを、sheet1の4行目の2列目から16列目にコピー()
Dim i As Long
For i = 1 To 15
Sheets("Sheet4").Cells(60 + i, 3).Copy Destination:=Sheets("Sheet1").Cells(4, i + 1)
Next i
End Sub


Sub macro17_sheet4の3列目の481行目から495行目のデータを、sheet1の18行目の2列目から16列目にコピー()
Dim i As Long
For i = 1 To 15
Sheets("Sheet4").Cells(480 + i, 3).Copy Destination:=Sheets("Sheet1").Cells(18, i + 1)
Next i
End Sub

A 回答 (1件)

こんばんは!



Sub Sample1()
Dim i As Long
For i = 1 To 17
Worksheets("Sheet4").Cells((i - 1) * 30 + 1, "C").Resize(15).Copy
Worksheets("Sheet1").Cells(i + 1, "B").PasteSpecial Paste:=xlPasteValues, Transpose:=True
Next i
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2018/04/20 10:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!