2013-03-01 3 views
1

Моя цель должна быть достаточно простой. просто автозаполняйте одну колонку до определенной строки:программно автозаполнять одну колонку

Range("A3:C3").Select 
Selection.AutoFill Destination:=Range("A3:C" & RowCount) 

Этот блок кода отлично работает. Но то, что я хочу, состоит в том, чтобы автоматически заполнять три столбца отдельно, потому что для каждого есть разные RowCount. Я пробовал:

Range("A3").Select 
Selection.AutoFill Destination:=Range("A3:A" & RowCount) 

, но я получаю Run-time error '1004': Method 'Range' of object '_Global' failed

ответ

4

ниже код работал без проблем для меня. Единственный способ, с помощью которого я смог его выполнить, с сообщением об ошибке, с которым вы столкнулись, - это установить значение rowcount в значение, которое привело к недопустимому адресу (например, «A3: A0»).

Sub FillIt() 
     Dim RowCount As Long 
     RowCount = 10 
     Range("A3:A4").AutoFill Destination:=Range("A3:A" & RowCount) 
    End Sub 

Существует несколько вариантов того, как метод .Autofill заполнит серию.

В приведенном выше коде предполагается, что первые две ячейки требуемого диапазона содержат первые два значения серии. Например, если A3 = 1 и A3 = 2, то Excel предполагает, что вы хотите серию последовательных целых чисел 1, 2, 3 .... Если значения 1 и пустые, то результирующая серия будет 1, 1, заготовка и т. Д.

Как заполняется серия, можно указать дополнительный параметр «Тип». Метод заполнения в коде эквивалентен настройке Type:=xlFillDefault. Существует несколько других типов заполнения, таких как xlFillSeries, xlFillCopy и xlFillLinearTrend. Полный список их см. В статье Microsoft reference page.

+0

Спасибо за многообещающий ответ, я проверю его, когда я вхожу в работу – mango

+0

Не знаю, почему, но у меня возникла проблема с «Range (« A3: A4 »). AutoFill' - он пропускал бы все остальные ряд. Я использовал «Range (« A3 »). Выберите' then' Selection.AutoFill', и он отлично работает. Я понимаю, что выборы плохие, но пока я должен уступить здесь. – mango

+0

Я предполагал, что вам нужно последовательное число строк. В этом случае вы должны ввести 1 в A3 и 2 в формате A4. (Ввод 1 и 1 приведет к заполнению диапазона 1.) В качестве альтернативы вы можете использовать аргумент «Тип». Измените ответ, чтобы это было ясно. – chuff

Смежные вопросы