Использование переменной .Range вызывает ошибку времени выполнения в vba - PullRequest
0 голосов
/ 16 января 2019

надеюсь, вы поможете мне с небольшой проблемой. Я хочу скопировать диапазон моей текущей рабочей книги в другую открытую рабочую книгу.

Не похоже на проблему, но она уже вылетает в пределах строки копирования.

Я уже пытался сохранить текущий / активный Рабочий лист / книгу в varaible и выполнить его таким образом, но ошибка все еще появляется. Я уже использовал комбинацию дальности и ячеек раз, так что сомневаюсь, что это проблема.

Может быть, у некоторых из вас уже была подобная проблема? Или, возможно, есть лучший способ сделать это?

Заранее большое спасибо.

ThisWorkbook.Worksheets("Test").Range(Cells(8, 2), Cells(AmountofRows, AmountofColumns)).Copy

1 Ответ

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

Я подозреваю, что это из-за того, что вы не попали на лист Active при запуске команды.

Попробуйте использовать это вместо

With ThisWorkbook.Worksheets("Test")
    .Range(.Cells(8, 2), .Cells(AmountofRows, AmountofColumns)).Copy
End With

То, как вы использовали Cells, будет просто использовать активный лист, который затем потерпит неудачу, когда вы попытаетесь скопировать со смешанным объявлением.Убедитесь, что вы всегда полностью определяете свои диапазоны

...