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

Вход

Регистрация

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

 

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

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Получение данных из не активной 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
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 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
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

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


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

Автор - 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
  • Страница 1 из 1
  • 1
Поиск:

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