С MSDN :
Пункт назначения должен включать
диапазон источника.
B:U
не содержит A6
и, следовательно, произошла ошибка. Я полагаю, что вы, вероятно, хотите, чтобы out
было установлено на A6:U6
.
Указание только названия столбца означает, что вы хотите заполнить каждую строку в этом столбце, что вряд ли будет желаемым значением
Обновление
В дополнение к комментарию ОП ниже и обновлению до исходного ответа, это может помочь:
Dim src As Range, out As Range, wks As Worksheet
Set wks = Me
Set out = wks.Range("B1")
Set src = wks.Range("A6")
src.Copy out
Set out = wks.Range("B1:U1")
Set src = wks.Range("B1")
src.AutoFill Destination:=out, Type:=xlFillCopy
Set out = wks.Range("B:U")
Set src = wks.Range("B1:U1")
src.AutoFill Destination:=out, Type:=xlFillCopy
AutoFill
ограничен одним направлением (то есть горизонтальным или вертикальным) одновременно. Чтобы заполнить двумерную область из одной ячейки, сначала необходимо автоматически заполнить линию вдоль одного края этой области, а затем растянуть эту линию по области
Для конкретного случая копирования форматирования и очистки содержимого (так как исходная ячейка пуста), это лучше:
Dim src As Range, out As Range, wks As Worksheet
Set wks = Sheet1
Set out = wks.Range("B:U")
Set src = wks.Range("A6")
src.Copy out