我陷入了一个奇怪的要求。以下是对我的问题的模拟。
在单元格 E1 中,我的值为 1。
在单元格 F1 中,我的值为 2。
B 列被隐藏。
现在使用 VBA,我需要将 E1 和 F1 复制到单元格 A1,这样 A1 包含“1”,C1 包含“2”(因为 B 列被隐藏)
简而言之,我需要在粘贴时跳过隐藏的列。
我知道我可以进行 2 次复制操作,但隐藏列的数量和要复制的单元格数量并不总是相同。所以我需要一次性完成复制操作。
如何使用 Excel VBA 实现这一点?
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