我正在编写一个宏来创建不同工作表的课程日期概述,概述分为两页。第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。
谢谢,尼克