Sub CopyData1()
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim lastRow As Long
' ソースシート(コピー元のシート)とターゲットシート(コピー先のシート)を設定
Set sourceSheet = ThisWorkbook.Sheets("Sheet1")
Set targetSheet = ThisWorkbook.Sheets("Sheet2")
' ソースシートの最終行を取得
lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, "A").End(xlUp).Row
' ソースシートからデータをコピーしてターゲットシートに貼り付け
sourceSheet.Range("A2:G" & lastRow).Copy targetSheet.Range("A2")
' コピーが完了したことをメッセージボックスで通知
MsgBox "Data has been copied successfully.", vbInformation
End Sub
'//転記先が連続した列でない場合
Sub CopyData2()
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim lastRow As Long
Dim targetColumn As Integer
' ソースシート(コピー元のシート)とターゲットシート(コピー先のシート)を設定
Set sourceSheet = ThisWorkbook.Sheets("Sheet1")
Set targetSheet = ThisWorkbook.Sheets("Sheet2")
' ソースシートの最終行を取得
lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, "A").End(xlUp).Row
' ターゲットシートの開始列を指定
targetColumn = 1 ' 例:A列から開始
' ソースシートからデータをコピーしてターゲットシートに貼り付け
sourceSheet.Range("A2:G" & lastRow).Copy targetSheet.Cells(2, targetColumn)
' コピーが完了したことをメッセージボックスで通知
MsgBox "Data has been copied successfully.", vbInformation
End Sub
'//各列の転記先が連続ではなく、指定された列に転記される場合
Sub CopyData2()
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim lastRow As Long
Dim targetColumn As Integer
Dim i As Integer
' ソースシート(コピー元のシート)とターゲットシート(コピー先のシート)を設定
Set sourceSheet = ThisWorkbook.Sheets("Sheet1")
Set targetSheet = ThisWorkbook.Sheets("Sheet2")
' ソースシートの最終行を取得
lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, "A").End(xlUp).Row
' ターゲットシートにおける各列の開始位置を設定
Dim targetColumns() As Variant
targetColumns = Array("C", "G", "J", "L", "O", "R", "U")
' ソースシートからデータをコピーしてターゲットシートに貼り付け
For i = 1 To 7 ' ソースシートの列数
sourceSheet.Range(sourceSheet.Cells(2, i), sourceSheet.Cells(lastRow, i)).Copy targetSheet.Cells(2, targetColumns(i - 1))
Next i
' コピーが完了したことをメッセージボックスで通知
MsgBox "Data has been copied successfully.", vbInformation
End Sub
'//各列の転記先に特定の値を転記する条件を追加
Sub CopyData()
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim lastRow As Long
Dim targetColumn As Integer
Dim i As Integer
' ソースシート(コピー元のシート)とターゲットシート(コピー先のシート)を設定
Set sourceSheet = ThisWorkbook.Sheets("Sheet1")
Set targetSheet = ThisWorkbook.Sheets("Sheet2")
' ソースシートの最終行を取得
lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, "A").End(xlUp).Row
' ターゲットシートにおける各列の開始位置を設定
Dim targetColumns() As Variant
targetColumns = Array("C", "G", "J", "L", "O", "R", "U")
' ソースシートからデータをコピーしてターゲットシートに貼り付け
For i = 1 To 7 ' ソースシートの列数
sourceSheet.Range(sourceSheet.Cells(2, i), sourceSheet.Cells(lastRow, i)).Copy targetSheet.Cells(2, targetColumns(i - 1)).Resize(lastRow - 1)
Next i
' 追加の条件:特定の値を特定の列に転記
targetSheet.Range("D2:D" & lastRow).Value = 111
targetSheet.Range("H2:H" & lastRow).Value = 222
targetSheet.Range("I2:I" & lastRow).Value = 333
targetSheet.Range("M2:M" & lastRow).Value = 444
targetSheet.Range("P2:P" & lastRow).Value = 555
targetSheet.Range("S2:S" & lastRow).Value = 666
targetSheet.Range("V2:V" & lastRow).Value = 777
' コピーが完了したことをメッセージボックスで通知
MsgBox "Data has been copied successfully.", vbInformation
End Sub