Excel VBA复制操作(中间隐藏列)

时间:2013-02-10 23:21:42

标签: excel vba excel-vba

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

  

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

     

在Cell F1中,我有2个值。

     

B栏被隐藏。

     

现在使用VBA我需要复制E1& F1到单元格A1,A1包含   " 1"和C1包含" 2" (因为B列是隐藏的)

     

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

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

如何使用Excel VBA实现此目的?

1 个答案:

答案 0 :(得分: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