VBA自动填充错误,错误1004,未向下拖动数字

问题描述 投票:0回答:1

[我想做的是将表格放在工作表中,并使宏自动填充数据库中的信息,但是当我到达将数字(不是公式)拖到列中时,我得到了错误1004,我还尝试了其他方法,这些方法有时不会向我抛出错误,但不会执行我想要的操作。

我的逻辑是这样的:首先将信息从输入表填充到数据库表(此部分有效)然后计算最近填充的数据库部分的行数,以计算用作目标的新行数(正确计数)。然后拖动一列以完成信息,这是行不通的。

这里是代码:

Sub Macro1()
Dim Size As Integer
Dim L As Integer
Sheets("DATABASE").Activate
L = (Range("C11").End(xlDown).Row)
MsgBox (L)
Sheets("Input Sheet").Activate
Size = (Range("B2").End(xlDown).Row) - 2
MsgBox (Size)
**This is filling the info from the input sheet to the database**
Range("B3:C3" & Size).Cut Sheets("DATABASE").Range("C1:D1").Offset(L, 0) 
Range("D3:D3" & Size).Cut Sheets("DATABASE").Range("F1").Offset(L, 0) '
Range("E3:E3" & Size).Cut Sheets("DATABASE").Range("K1").Offset(L, 0) '
Range("F3:F3" & Size).Cut Sheets("DATABASE").Range("AJ1").Offset(L, 0) '
Sheets("DATABASE").Activate
Size = (Range("C11").End(xlDown).Row)
MsgBox (Size)
Range("B11:B11" & L).Select
**This is where I get the error**
Selection.AutoFill Destination:=Range("B11:B" & Size), Type:=xlFillDefault
End Sub
excel vba autofill
1个回答
0
投票

不敢相信我花了两个小时才找出错误,但在这里是:

Sub Macro1()
Dim Size As Integer
Dim L As Integer
Sheets("DATABASE").Activate
L = (Range("C11").End(xlDown).Row)
MsgBox (L)
Sheets("Input Sheet").Activate
Size = (Range("B2").End(xlDown).Row) - 2
MsgBox (Size)
Range("B3:C3" & Size).Cut Sheets("DATABASE").Range("C1:D1").Offset(L, 0) 
Range("D3:D3" & Size).Cut Sheets("DATABASE").Range("F1").Offset(L, 0) 
Range("E3:E3" & Size).Cut Sheets("DATABASE").Range("K1").Offset(L, 0)
Range("F3:F3" & Size).Cut Sheets("DATABASE").Range("AJ1").Offset(L, 0) 
Sheets("DATABASE").Activate
Size = (Range("C11").End(xlDown).Row)
MsgBox (Size)
Range("B11:B" & L).Select <---- this range selection is the correct one, on the previous version it had the wrong syntax
Selection.AutoFill Destination:=Range("B11:B" & Size), Type:=xlFillDefault
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.