Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Получение данных из не активной Workbooks - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Получение данных из не активной Workbooks (Макросы/Sub)
Получение данных из не активной Workbooks
MisterYu Дата: Четверг, 15.03.2018, 15:52 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Есть две открытых книги. Одна из них активна, вторая нет.
Нужно получить данные из не активной книги.

[vba]
Код

Set Wb = Workbooks("BASA.xls").Sheets(1)
with wb
       Temp = .Cells(Rows.Count, 1).End(xlUp).Row
end with
[/vba]

Спасибо за понимание.


Сообщение отредактировал MisterYu - Четверг, 15.03.2018, 15:53
 
Ответить
СообщениеЕсть две открытых книги. Одна из них активна, вторая нет.
Нужно получить данные из не активной книги.

[vba]
Код

Set Wb = Workbooks("BASA.xls").Sheets(1)
with wb
       Temp = .Cells(Rows.Count, 1).End(xlUp).Row
end with
[/vba]

Спасибо за понимание.

Автор - MisterYu
Дата добавления - 15.03.2018 в 15:52
krosav4ig Дата: Четверг, 15.03.2018, 16:28 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Ну дык в классе Workbooks нету свойства Cells, о чем и говорит ошибка 438 "Object doesn't support this property or method" - "Объект не поддерживает данное свойство или метод"
Вы про лист забыли. И про точку перед Rows не стоит забывать во избежание возможных ошибок.
[vba]
Код
Set Wb = Workbooks("BASA.xls")
with Wb.Sheets("SheetName")
    Temp = .Cells(.Rows.Count, 1).End(xlUp).Row
end with
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 15.03.2018, 17:55
 
Ответить
СообщениеНу дык в классе Workbooks нету свойства Cells, о чем и говорит ошибка 438 "Object doesn't support this property or method" - "Объект не поддерживает данное свойство или метод"
Вы про лист забыли. И про точку перед Rows не стоит забывать во избежание возможных ошибок.
[vba]
Код
Set Wb = Workbooks("BASA.xls")
with Wb.Sheets("SheetName")
    Temp = .Cells(.Rows.Count, 1).End(xlUp).Row
end with
[/vba]

Автор - krosav4ig
Дата добавления - 15.03.2018 в 16:28
anvg Дата: Четверг, 15.03.2018, 16:50 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
krosav4ig, я что то не понимаю. Можно по подробнее?
Wb и wb (в with wb) с точки зрения VBA одно и тоже имя переменной. Присвоение ссылки идёт кодом
[vba]
Код
Set Wb = Workbooks("BASA.xls").Sheets(1)
[/vba]
следовательно wb (малое) некоторый sheet (Worksheet, Macrosheet, Dialogsheet, Charsheet).
Тогда внутри блока with
.Sheets("SheetName") это обращение к объекту переменной wb (малое). Вопрос, а откуда у условного wb коллекция Sheets?
 
Ответить
СообщениеДоброе время суток.
krosav4ig, я что то не понимаю. Можно по подробнее?
Wb и wb (в with wb) с точки зрения VBA одно и тоже имя переменной. Присвоение ссылки идёт кодом
[vba]
Код
Set Wb = Workbooks("BASA.xls").Sheets(1)
[/vba]
следовательно wb (малое) некоторый sheet (Worksheet, Macrosheet, Dialogsheet, Charsheet).
Тогда внутри блока with
.Sheets("SheetName") это обращение к объекту переменной wb (малое). Вопрос, а откуда у условного wb коллекция Sheets?

Автор - anvg
Дата добавления - 15.03.2018 в 16:50
MisterYu Дата: Четверг, 15.03.2018, 16:54 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Что то не пашет.

[vba]
Код

Dim Wb As Object
    Set Wb = Workbooks("BASA.xls").Sheets(1)
    With Wb
        Temp = .Sheets(1).Cells(.Rows.Count, 1).End(xlUp).Row
    End With
[/vba]
 
Ответить
СообщениеЧто то не пашет.

[vba]
Код

Dim Wb As Object
    Set Wb = Workbooks("BASA.xls").Sheets(1)
    With Wb
        Temp = .Sheets(1).Cells(.Rows.Count, 1).End(xlUp).Row
    End With
[/vba]

Автор - MisterYu
Дата добавления - 15.03.2018 в 16:54
MisterYu Дата: Четверг, 15.03.2018, 16:57 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
anvg, Вы заметили правильно.

Код набирал на форуме, а не в VBA.
Там используется Wb(большое) везде.
 
Ответить
Сообщениеanvg, Вы заметили правильно.

Код набирал на форуме, а не в VBA.
Там используется Wb(большое) везде.

Автор - MisterYu
Дата добавления - 15.03.2018 в 16:57
MisterYu Дата: Четверг, 15.03.2018, 17:02 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Уточню.
В книге "BASA.xls" есть 2 листа с именами "BASE" и "Register".
 
Ответить
СообщениеУточню.
В книге "BASA.xls" есть 2 листа с именами "BASE" и "Register".

Автор - MisterYu
Дата добавления - 15.03.2018 в 17:02
sboy Дата: Четверг, 15.03.2018, 17:12 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Уточню.

Это замечательное уточнение, но этого мало)
какие данные Вы хотите получить? с какой книги? с какого листа? и куда эти данные деть.
Вводите в заблуждение участников форума, они мнимые ошибки Вам ищут.


Яндекс: 410016850021169
 
Ответить
Сообщение
Уточню.

Это замечательное уточнение, но этого мало)
какие данные Вы хотите получить? с какой книги? с какого листа? и куда эти данные деть.
Вводите в заблуждение участников форума, они мнимые ошибки Вам ищут.

Автор - sboy
Дата добавления - 15.03.2018 в 17:12
krosav4ig Дата: Четверг, 15.03.2018, 17:21 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
я что то не понимаю

Эт меня чего-то глючит не-по-детски. Исправил свой пост.


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
я что то не понимаю

Эт меня чего-то глючит не-по-детски. Исправил свой пост.

Автор - krosav4ig
Дата добавления - 15.03.2018 в 17:21
Hugo Дата: Четверг, 15.03.2018, 17:47 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Первый код вполне рабочий, правда не во всех случаях (не указано чьё количество строк использует). Но скорее всего номер строки даст, что тоже есть данные неактивной книги.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеПервый код вполне рабочий, правда не во всех случаях (не указано чьё количество строк использует). Но скорее всего номер строки даст, что тоже есть данные неактивной книги.

Автор - Hugo
Дата добавления - 15.03.2018 в 17:47
MisterYu Дата: Четверг, 15.03.2018, 17:55 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
krosav4ig, работает.

sboy, искал индекс последней записи на листе.
 
Ответить
Сообщениеkrosav4ig, работает.

sboy, искал индекс последней записи на листе.

Автор - MisterYu
Дата добавления - 15.03.2018 в 17:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Получение данных из не активной Workbooks (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!