マクロを作成して、各シートの最後の列(私の場合は列R)の値を「MainSheet」という新しいシートにします。最後の列の値を新しいシートに取得するマクロ
最後の列の値がメインシートの列A、Bにフェッチする必要があります4枚がある場合は、C & D
あなたのデータを仮定すると、事前に感謝
マクロを作成して、各シートの最後の列(私の場合は列R)の値を「MainSheet」という新しいシートにします。最後の列の値を新しいシートに取得するマクロ
最後の列の値がメインシートの列A、Bにフェッチする必要があります4枚がある場合は、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
ありがとう、これは完璧ですが、列Rはすべてのシートにセルをマージしており、結合セルは(R2:R25)、(R26:R49)、 R50:R73)、(R74:R97)、(R122:R145)、(R146:R169) これはすべてのシートで一定です。その後の行で その間にマージされたセルを使わずに値を連続的に取得する方法はありますか? – user1292831
@ user1292831 - 更新されたコードをご覧ください。 MainSheetで空のセルを削除するループを追加しました。私はこれがあなたに必要なものを与えると思う。 –
これはちょうど私が欲しいものです:D、私はまた、各シートの名前であるセルA2の値を取得し、A10、B10、C10、D10でこのデータを取得したいです。MainSheetのセル 4シートのA2値は、メインシートのA10、B10、C10、D10にフェッチする必要があります。 – user1292831
「R」列は常に各シートの最後の列ですか、それとも異なるのですか? –
列Rは常に各シートの最後の列です – user1292831