エクセルマクロに詳しい方宜しくお願いします。 マクロ勉強中です。以下の事方法を教えてください。
エクセルマクロに詳しい方宜しくお願いします。 マクロ勉強中です。以下の事方法を教えてください。 下のコードで入力シートのコピー範囲が3(C)~24(X)という風になっているのですが、ここを15(O)列を除いた(3:14)、(16:24)の2つの範囲をコピーする場合にはどう変更したらよろしいのでしょうか? 宜しくお願い致します。 Set wS = wB.Worksheets("sheet1") wS.Range("U3") = Now With ThisWorkbook.Worksheets("入力シート") For x = 5 To .Cells(Rows.Count, 4).End(xlUp).Row If .Cells(x, 2).Value <> "*" Then .Cells(x, 2).Value = "*" .Range(.Cells(x, 3), .Cells(x, 24)).Copy wS.Cells(wS.Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).PasteSpecial Paste:=xlPasteValue End If Next x End With Application.CutCopyMode = False wS.Cells(wS.Rows.Count, 2).End(xlUp).Offset(1, 0).Select wB.Close True Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "転記しました。" Workbooks.Open Filename:=myPath & fN, ReadOnly:=True End Sub
Visual Basic・43閲覧
ベストアンサー
一例です。 .Range(.Cells(x, 3), .Cells(x, 24)).Copy ↓ Union(.Cells(x, 3).Resize(, 12), .Cells(x, 16).Resize(, 9)).Copy -------------------- 既回答に下記コードがありますが、これだとO列を除外することはできません。 .Range(.Cells(x, 3).Resize(, 12), .Cells(x, 16).Resize(, 9)).Copy
ありがとうございます。早速試してみました!コピーまではうまくできました。ですがすみません。僕の説明不足でした。転記先のシートも同じ様にO列を空けたいのです。お分かりだと思いますが 今の状態はコピーした情報が別のブックのsheet1にO列をつめてコピーされてます。
質問者からのお礼コメント
本当にありがとうございました!完璧でした!
お礼日時:2/26 13:26