0

我陷入了一个奇怪的要求。以下是对我的问题的模拟。

在单元格 E1 中,我的值为 1。

在单元格 F1 中,我的值为 2。

B 列被隐藏。

现在使用 VBA,我需要将 E1 和 F1 复制到单元格 A1,这样 A1 包含“1”,C1 包含“2”(因为 B 列被隐藏)

简而言之,我需要在粘贴时跳过隐藏的列。

我知道我可以进行 2 次复制操作,但隐藏列的数量和要复制的单元格数量并不总是相同。所以我需要一次性完成复制操作。

如何使用 Excel VBA 实现这一点?

4

1 回答 1

1
Sub Tester()
    CopySkippingHidden ActiveSheet.Range("A1:C1"), _
                       ActiveSheet.Range("F1")
End Sub


Sub CopySkippingHidden(rngToCopy As Range, pasteStart As Range)
    Dim c As Range
    For Each c In rngToCopy.Cells
        Do While pasteStart.EntireColumn.Hidden
            Set pasteStart = pasteStart.Offset(0, 1)
        Loop
        c.Copy pasteStart
        Set pasteStart = pasteStart.Offset(0, 1)
    Next c
End Sub
于 2013-02-11T06:46:12.477 回答