Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Access, найти последнюю заполненную строку в Excel / 16 сообщений из 16, страница 1 из 1
07.08.2014, 13:22
    #38714850
irina_irina_irina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Помогите понять в чем причина ошибки? Может я тип переменных не тот указала или номер последней строки не так ищу.
Вот кусок кода:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim Ycheika As Object
Dim sr As Object
Dim st As Object

Set st = objExBook1.Worksheets("Материалы").Columns(1)
Set sr = objExBook1.Worksheets("Материалы").Cells(Rows.Count, 2).End(xlDown).Row + 1 'Здесь ругается object required
Set Ycheika = objExBook1.Worksheets("Материалы").Range("& sr &", "& st &").Cells
...
Рейтинг: 0 / 0
07.08.2014, 13:26
    #38714855
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Для Rows-то тоже надо указать путь к нему
...
Рейтинг: 0 / 0
07.08.2014, 13:41
    #38714879
Maxim12345678
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
irina_irina_irina,

ну так а если задать sr как long и написать типа:
Код: vbnet
1.
sr = Thisworkbook.Worksheets("Материалы").Cells(Rows.Count, 2).End(xlUp).Row


Что пишет?
...
Рейтинг: 0 / 0
07.08.2014, 13:43
    #38714881
irina_irina_irina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Maxim12345678irina_irina_irina,

ну так а если задать sr как long и написать типа:
Код: vbnet
1.
sr = Thisworkbook.Worksheets("Материалы").Cells(Rows.Count, 2).End(xlUp).Row


Что пишет?
То же самое пишет
...
Рейтинг: 0 / 0
07.08.2014, 13:44
    #38714885
irina_irina_irina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Shocker.ProДля Rows-то тоже надо указать путь к нему Как прописать путь для Rows?
...
Рейтинг: 0 / 0
07.08.2014, 13:46
    #38714888
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Смотря что вы под ним подразумеваете. Это же вы написали в своем коде Rows - на него и ругается.
Вероятно objExBook1.Worksheets("Материалы")


Maxim12345678, какой еще Thisworkbook в аксессе, не путайте человека, он и так запутался
...
Рейтинг: 0 / 0
07.08.2014, 13:46
    #38714889
Maxim12345678
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
irina_irina_irina,
наверное как-то так:
Код: vbnet
1.
Cells(Worksheets("Материалы").Rows.Count, 2)
...
Рейтинг: 0 / 0
07.08.2014, 13:47
    #38714890
Maxim12345678
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Shocker.Pro,

да. уже понял, что писал для Excel.
...
Рейтинг: 0 / 0
07.08.2014, 13:58
    #38714905
irina_irina_irina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Добавляю путь для Rows, ошибка не пропадает
...
Рейтинг: 0 / 0
07.08.2014, 14:01
    #38714908
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
тогда начните отсюда
...
Рейтинг: 0 / 0
07.08.2014, 14:02
    #38714910
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
кстати, константа xlDown определена?

(правда должна быть тогда другая ошибка, не object required)
...
Рейтинг: 0 / 0
07.08.2014, 14:08
    #38714916
irina_irina_irina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Shocker.Proтогда начните отсюда у меня включена эта галочка
...
Рейтинг: 0 / 0
07.08.2014, 14:16
    #38714931
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Ну тогда проверьте строку по частям в момент ошибки. Какой-то из объектов, видимо, null
...
Рейтинг: 0 / 0
07.08.2014, 15:31
    #38715025
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Вообще изначальная ошибка здесь:
Set
Вам на неё уже указывали.
Т.к. это оператор присвоения значения объекту - то он не может быть использован в данном контексте.
Второе: Rows.Count - возвращает последнюю ячейку листа. КУДА Вы там еще ниже собрались перемещаться? Правильно не xlDows, а xlUp.
Ирина, попробуйте совместить все советы, прозвучавшие здесь. Тогда у Вас должно выбить на последней строке в ошибку :-)
...
Рейтинг: 0 / 0
07.08.2014, 15:33
    #38715027
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
Ну и код напоследок:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim objExBook1 As Object 'в коде не видел, но явно где-то присваивается значение...
Dim Ycheika As Object
Dim sr As Object
Dim st As Object

With objExBook1.Worksheets("Материалы")
    Set st = .Columns(1) 'здесь по хорошему нужна лишь одна ячейка, иначе как потом в Range воткнуть?
    'т.е. правильно было бы так
    Set st = .Cells(1, 1)
    Set sr = .Cells(.Rows.Count, 2).End(-4162).Offset(1)
    Set Ycheika = objExBook1.Worksheets("Материалы").Range(sr, st)
End With
...
Рейтинг: 0 / 0
07.08.2014, 16:02
    #38715076
irina_irina_irina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access, найти последнюю заполненную строку в Excel
The_Prist, спасибо) так работает
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Access, найти последнюю заполненную строку в Excel / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]