Ошибка VBA при автозаполнении, ошибка 1004, не перетаскивание цифр вниз - PullRequest
0 голосов
/ 16 января 2020

То, что я пытаюсь сделать, - это поместить таблицу в лист и выполнить макрос для автозаполнения информации в базе данных, но когда я добираюсь до точки перетаскивания чисел (не формул) в столбце, я получаю ошибка 1004, я также пробовал другие способы, которые иногда не приводят к ошибке, но не делают то, что я хочу.

Мой лог c таков: сначала заполните информацию из входного листа, чтобы лист базы данных (эта часть работает). Затем подсчитайте, сколько строк в части базы данных, которая была недавно заполнена, подсчитать новое количество строк, которое будет использоваться в качестве места назначения (он считается правильно). Затем перетащите столбец для завершения информации, это то, что не работает.

Вот код:

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

1 Ответ

0 голосов
/ 16 января 2020

Не могу поверить, что мне понадобилось два часа, чтобы найти ошибку, но вот она:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...