過去に同じような質問をさせていただいていますが(https://oshiete.goo.ne.jp/qa/11047141.html)
解決しないまま締め切られてしまったので、再質問です。
添付画像のように、AJ列からEV列まで8項目が15回繰り返しているデータが複数行あり、
これを別シートのH列から始まるようコピペしたいのですが
列方向に15回、最終行まで自動で繰り返すvbaが分かりません。
前回の質問の回答でいただいたvbaは
resultList(i, j) = paramList(1, ((j - 1) * 15) + i)の部分でエラーになってしまいます。
よろしくお願いします。
No.1
- 回答日時:
確認です。
やりたいことは下記であっていますか?
元データ
A1 B1 C1・・・H1 A2 B2 C2・・・H2 A15 B15 C15・・・H15
貼付け後データ
A1 B1 C1・・・H1
A2 B2 C2・・・H2
A3 B3 C3・・・H3
・・・
A15 B15 C15・・・H15
添付画像では、どのように並べ替えたいのかがあいまいでした。
別シートの17~31行目はどういうものでしょうか?2~16行目と同じもの?
No.2
- 回答日時:
要は、横にあるデータを、別のシートに縦に貼り付けることでしょうか?
Excel2007以上
'//標準モジュール
Sub ConvertTrans()
'実際のシート名を"------- " の間に入れてください。
Dim sh1 As Worksheet: Set sh1 = Worksheets("Sheet1")
Dim sh2 As Worksheet: Set sh2 = Worksheets("Sheet2")
Dim c As Range
Dim i As Long
Application.ScreenUpdating = False
With sh1
'開始は、シートのAJ2から
For Each c In .Range("AJ2", .Cells(Rows.Count, "AJ").End(xlUp))
.Range(c, .Cells(c.Row, Columns.Count).End(xlToLeft)).Copy
sh2.Cells(2, 8 + i).PasteSpecial xlPasteAll, , , True 'シート2のH2からTranspose
i = i + 1
Next c
End With
Application.ScreenUpdating = True
End Sub
No.3ベストアンサー
- 回答日時:
No.1です。
標準モジュールに貼り付けてください。
データの配置はサンプルどおりです。
Sub narabekae()
Dim i As Long
Dim j As Long
Dim col_munber As Long
Dim start_row As Long
Dim start_col As Long
Dim end_row As Long
Dim end_col As Long
Dim dest_row As Long
Dim dest_col As Long
Application.ScreenUpdating = False
'
Worksheets("Sheet1").Activate
start_row = 2 '元データ
start_col = 36 '元データ
end_row = Cells(Rows.Count, 36).End(xlUp).Row '元データ
end_col = 155 '元データ
dest_row = 2 '貼付け先
dest_col = 8 '貼付け先
col_number = 8 '貼付け後の列数
row_number = (end_col + 1 - start_col) / col_number '貼付け後の行数(元データ1行当たり)
For i = start_row To end_row ' i:元データの行カウンタ
For j = 1 To row_number ' j:列カウンタ
Range(Cells(i, start_col + (j - 1) * col_number), Cells(i, start_col + (j + 0) * col_number - 1)).Copy
Worksheets("Sheet2").Activate
Range(Cells(dest_row + j - 1 + (i - start_row) * row_number, dest_col), Cells(dest_row + j - 1 + (i - start_row) * row_number, dest_col + 7)).PasteSpecial xlPasteAll
Worksheets("Sheet1").Activate
Next j
Next i
Worksheets("Sheet1").Activate
Application.ScreenUpdating = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Excel(エクセル) excelにおける転記マクロの書き方 2 2023/05/12 03:16
- Visual Basic(VBA) A列にある値をB列・C列にVBAで切り出し 3 2022/04/09 19:20
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Excel(エクセル) Changeイベントを使用して重複チェックをしたい 2 2023/08/02 11:47
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
Excel VBA ピボットテーブルに...
-
VBAで繰り返しコピーしながら下...
-
エクセルのブック分割マクロを...
-
ExcelのVlookup関数の制限について
-
エクセルの列の限界は255列以上...
-
エクセルの保護で、列の表示や...
-
エクセルで、book全体の検索&...
-
エクセルの複数シートにあるデ...
-
エクセルで、チェックボックス...
-
エクセルの表を自動的に、項目...
-
Excelでの並べ替えを全シートま...
-
VBAで項目ごとにシートを分けた...
-
エクセル マクロ 標準モジュー...
-
Excelで条件別にシートを振り分...
-
Excel の複数シートの列幅を同...
-
別シートから月(MONTH)で抽出す...
-
VBA 複数シートをひとつにまと...
-
エクセルの特定の複数の行を非...
-
SUMPRODUCTにて別シートのデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセル関数に詳しい方、教え...
-
【条件付き書式】countifsで複...
-
Excel の複数シートの列幅を同...
-
エクセル マクロ 標準モジュー...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
excel 複数のシートの同じ場所...
おすすめ情報
説明不足ですみません。
やりたいことは読み取っていただいた内容であっています。
別シートの17行目からは元データシートの3行目(データ2行目)です。
32行目からは元データシートの4行目(データ3行目)が。
A15~H15をコピペ後1行下のデータに移動する感じです。