【问题标题】:Copy with hidden colums and filtered rows复制隐藏列和过滤行
【发布时间】:2014-05-26 09:48:24
【问题描述】:

我在将数据从范围复制到另一个工作表时遇到问题。在复制范围中有一些隐藏的列和过滤的行。 我的代码只是将可见的列和行复制到另一张表中,但我应该将范围中的所有数据复制到另一张表中。

我只复制可见数据的代码是

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

希望你能帮我复制范围内的所有数据。

感谢 Trekschaf

【问题讨论】:

  • 不确定是否有参数要添加到复制方法中以要求它复制隐藏的单元格,但您始终可以通过编程方式取消隐藏单元格,复制,然后再次隐藏。
  • 谢谢,这是我也想过的一种方式,但我非常喜欢它。

标签: excel vba excel-2010


【解决方案1】:

如果您有一个包含隐藏行/列的表格,并且您想复制/粘贴到另一个工作表并复制所有数据,则必须逐个单元格地进行。假设我们在 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

【讨论】:

  • 谢谢我以前发现的这种方式,但我希望通过一种简单的方式。
猜你喜欢
  • 2013-09-13
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多