|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Добрый день, помогите сделать правильное копирование с одного листа на другой. Код: vbnet 1. 2. 3. 4. 5.
Вылетает такая ошибка и выделяется последняя строка Object doesn't support this property or method ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 07:24 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Сначала попробуй выполнить такое копирование хотя бы руками... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 09:15 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
До вставки все работает нормально, при запуске выделяет нужный мне диапазон и копирует, руками открываю второй лист и все нормально вставляется, а вот чтобы вставлялось автоматически не получается. Есть еще и небольшая проблема, каждый второй запуск выходит ошибка 1004 Method 'Cells' of object '_Global' failed и выделяется первая строка. Как поправить такое дело? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 09:24 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Макрос)руками открываю второй лист и все нормально вставляется, а вот чтобы вставлялось автоматически не получается. Ну так запишите это действие макрорекордером. Макрос)каждый второй запуск выходит ошибка 1004 Method 'Cells' of object '_Global' failed и выделяется первая строка. Как поправить такое дело? Ну, наверное, никогда не ориентироваться на ActiveSheet и указывать лист явно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 09:50 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
У Cells нет метода Paste. Он относится к листу. Поэтому правильно будет так: Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 11:27 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Еще проще одной строкой: Код: vbnet 1.
Первые строки кода не должны вроде как вызывать ошибок. По крайней мере именно в таком виде. Возможно, у Вас написано не так, а нечто вроде: Код: vbnet 1.
Тогда получите ошибку, если запустите код не со второго листа или из модуля другого листа. Подробнее: Как обратиться к диапазону из VBA ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 11:34 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Копирование работает, но ошибка все равно появляется каждый второй раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 11:47 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Лист указывайте ЯВНО. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 11:53 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Макрос), Приложите файл с полным кодом. Явно что-то не так происходит ДО присвоения значения диапазону. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 11:55 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
До происходит вставка из Access 3 recordset после которых стоит rs.close, затем нужно скопировать 1 столбцы 3 таблиц, выделение происходит как представлено выше, добавил Вашу строчку копирование заработало при переносе кода в excel появилась другая ошибка так же при втором запуске. Нахождение кода макроса не принципиально можно оставить и в excel из access просто сделаю run, так наверное даже лучше будет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 12:14 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Файлик забыл ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 12:14 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Макрос)Нахождение кода макроса не принципиальноДа? Ну это Вам. Программе может быть очень принципиально. В общем так: код с виду рабочий. Не хотите предоставлять файл и описывать пошагово что делается для появления ошибки - боритесь сами. Т.к. изначально про Access упоминания вообще не было. Если из Access к Excel обращаетесь, то обязательно указывать еще и само приложение Excel, прежде чем обращаться к его Range. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 12:17 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Интересно почему в excel это не вызывает никаких ошибок, а в Access они появляются. Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 12:18 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Макрос), Конкретно в приложенном файле ошибка может возникать при запуске со второго листа. Т.к. копируемая и вставляемые области пересекаются. Плюс объявление переменных у Вас неправильное. Вполне рабочий вариант при запуске с любого листа будет таким: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Кстати, если бы послушали Akina сразу - то проблема бы ушла, т.к. в данном случае указание листа сильно влияет на выполнение кода, если его запуск может происходить с листа, на который надо перенести данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 12:21 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Спасибо за помощь, но все равно не понятно почему в Access выходит ошибка при выполнение этого кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 13:03 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Макрос)не понятно почему в Access выходит ошибка при выполнение этого кода. При работе из Access нужно СТРОГО описывать ВЕСЬ путь до объекта. Не может быть Cells без ссылки на конкретный Worksheet, Worksheet - без ссылки на конкретный Workbook. А про понятия ActeveCell, ActiveSheet и ThisWorkbook вообще забудьте. Не экономьте объектные переменные. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 13:23 |
|
Копирование несмежного диапазона
|
|||
---|---|---|---|
#18+
Макрос)Спасибо за помощь, но все равно не понятно почему в Access выходит ошибка при выполнение этого кода.вам же уже ответили, что в Аксессе нет объекта Sheets, он не знает, что это такое. Sheets есть у книги, поэтому перед Sheets необходимо ставить ссылку на книгу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2015, 13:24 |
|
|
start [/forum/topic.php?fid=60&msg=39087966&tid=2155747]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 143ms |
0 / 0 |