复制范围时Excel VBA错误1004

时间:2014-06-13 13:38:36

标签: excel vba

我正在编写一个宏来创建不同工作表的课程日期概述,概述分为两页。第1页(A:A至F:F)和第2页(G:G至L:L)。

我尝试从4张不同的纸张中复制日期,比如说纸张1 +纸张2到页面1,而纸张3 +纸张4到页面2。

代码的工作原理如下: 选择工作表1,根据日期过滤概览>今天。然后复制前10个可见行。

我对所有4张纸使用完全相同的代码,日期,第1页和第2页完美复制到第1页,但是当粘贴到第2页时,我收到错误。

问题始于以下代码:

ActiveSheet.Range("$A$1:$F$13").AutoFilter Field:=3, Criteria1:=">=" & CDbl(Date)

Dim rngAF3 As Range, rngCell3 As Range, lCnt3 As Long, lRow3 As Long
Const lStart3 As Long = 2
Const lMax3 As Long = 10

    Set rngAF3 = ActiveSheet.AutoFilter.Range.Offset(1, 0) _
    .Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1, 1).SpecialCells(xlCellTypeVisible)

    For Each rngCell3 In rngAF3
        lCnt3 = lCnt3 + 1
        lRow3 = rngCell3.Row
        If lCnt3 = lMax3 Then Exit For
    Next rngCell3
    ActiveSheet.Rows(lStart3 & ":" & lRow3).Select

Selection.Copy
Sheets("Data").Select
ActiveSheet.Range("G6").Select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
Sheets("Overig").Select
ActiveSheet.Range("$A$1:$F$22").AutoFilter Field:=3

完全相同的代码(当然,不同的工作表和变量)适用于其他工作表。我怀疑问题是代码复制整行,然后尝试在单元格G6中粘贴起始,然后注意到没有足够的空间或其他东西。

当我设置Transpose:= True时,宏不会返回错误。当然,移调会使整个布局变得混乱,但也许有助于解决问题。

我短;我认为问题是我选择了整行,而不是所需的A:F。但考虑到我使用代码选择前10个可见行的事实,我不知道如何从前10个可见行调整到A:F。

谢谢,尼克

0 个答案:

没有答案