Я пытаюсь сместить, изменить размер и скопировать диапазон, содержащий данные, и набираю эту строку кода в непосредственном окне:
shAll.Range("A1:I78").Offset(1).Resize(.Rows.Count - 1, .Columns.Count -
1).SpecialCells(xlCellTypeVisible).copy
Когда я нажимаю ввод, я получаю эту ошибку: «Ошибка компиляции: недопустимое выражение просмотра»
Это проблема синтаксиса?
Эта часть кода работает нормально при выполнении в непосредственном окне:
shAll.Range("A1:I78").Offset(1).select
Это компенсируется так, как я хочу. Оставшаяся часть - изменить размер и скопировать его.
Кстати, диапазон shAll.Range("A1:I78")
содержит данные во всех ячейках.
Заранее спасибо!
Вы можете сделать диапазон имен или указать фактический диапазон, который вам нужен.
Worksheets("Sheet").Range("namedrange_d").Resize(, 4).Offset(6, 0).Copy _
Worksheets("Sheet1").Range("namedrange").Resize(, 4).Offset(6, 0)
Мне просто интересно узнать, почему я получаю сообщение об ошибке с кодом, который использую. Код взят из онлайн-курса, поэтому я знаю, что он работает, но в курсе используется переменный диапазон и выглядит так: shAll.Range("A1:I" & LastRow)Offset(1).Resize(.Rows. Количество — 1, .Columns.Count — 1).SpecialCells(xlCellTypeVisible).Копировать. Я просто хочу протестировать код в ближайшем окне, используя вместо этого фиксированный диапазон.
Вы не указали, к какому объекту относятся .Rows
и .Columns
.
Если они относятся к диапазону, то
With shAll.Range("A1:I78")
.Offset(1).Resize(.Rows.Count - 1, .Columns.Count - 1).SpecialCells(xlCellTypeVisible).copy
End with
или
shAll.Range("A1:I78").Offset(1).Resize(shAll.Range("A1:I78").Rows.Count - 1, _
shAll.Range("A1:I78").Columns.Count - 1).SpecialCells(xlCellTypeVisible).copy
Вот оно, теперь это работает! :) И вы действительно преподнесли мне очень полезную информацию сегодня. Объект должен быть указан и может быть выполнен способами, которые вы описали. Большое спасибо Гарет!
Вы говорите, что часть (.Rows.Count - 1, .Columns.Count - 1) невозможно выполнить в непосредственном окне? Должен ли я указывать его как фиксированные числа?