我有一个问题,从一个范围复制数据到另一个工作表。在复制范围中有一些隐藏的Columms和已过滤的行。 我的代码只会将可见的Coluumms和行复制到nother工作表中,但我应该将范围中的所有数据复制到另一个工作表中。
仅复制可见数据的我的代码
Worksheets("ANSICHT Komponente").Range("ANSICHT_Komponenten_Kostenanteil").Copy
'Einfügen auf dem Temp Daten Blatt
Worksheets("Temp_Daten").Range("B5:R56").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
希望你能帮助我复制范围内的所有数据。
Thx Trekschaf
答案 0 :(得分:0)
如果您有一个包含隐藏行/列的表,并且您希望将/ pastespecial复制到另一个工作表并复制所有数据,则必须逐个单元格执行此操作。假设我们有 Sheet1:
运行此:
Sub try_1_by_1()
Dim pets As Range
Set pets = Sheets("Sheet1").Range("A1:D20")
Dim r As Range
For Each r In pets
addy = r.Address
r.Copy
Sheets("Sheet2").Range(addy).PasteSpecial (xlValues)
Next r
End Sub
无论过滤如何,都会传输整个范围。
如果您使用直接转移而不是复制
,则可以避免循环Sub try_another()
Dim r1 As Range, r2 As Range
Set r2 = Sheets("Sheet2").Range("A1:D20")
Set r1 = Sheets("Sheet1").Range("A1:D20")
r2.Value = r1.Value
End Sub