各シートの最後の列(私の場合は列R)の値を「MainSheet」という名前の新しいシートに取得するマクロを作成しようとしています。
4枚のシートがある場合は、最後の列の値をメインシートの列A、B、C、およびDにフェッチする必要があります。
前もって感謝します
各シートの最後の列(私の場合は列R)の値を「MainSheet」という名前の新しいシートに取得するマクロを作成しようとしています。
4枚のシートがある場合は、最後の列の値をメインシートの列A、B、C、およびDにフェッチする必要があります。
前もって感謝します
コピー元の各シートでデータが常に開始されると仮定すると、A1
次のように開始できます。
Sub CopyLastColumns()
Dim cnt As Integer, sht As Worksheet, mainsht As Worksheet, col As Integer, rw As Integer
Set mainsht = Worksheets("MainSheet")
cnt = 1
For Each sht In Worksheets
If sht.Name <> "MainSheet" Then
sht.Columns(sht.Range("A1").CurrentRegion.Columns.Count).Copy
mainsht.Columns(cnt).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
mainsht.Cells(10, cnt) = sht.Range("A2")
cnt = cnt + 1
End If
Next sht
With mainsht
For col = 1 To cnt
For rw = .Cells(65536, col).End(xlUp).Row To 1 Step -1
If .Cells(rw, col) = "" Then
.Cells(rw, col).Delete Shift:=xlUp
End If
Next rw
Next col
End With
End Sub