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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое получение данных из закрытой книги. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическое получение данных из закрытой книги. (Формулы/Formulas)
Автоматическое получение данных из закрытой книги.
awaddwaawddw Дата: Вторник, 26.12.2017, 17:00 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 166
Репутация: 7 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, помогите доработать код пожалуйста:

Нужно чтобы макрос включался, каждые 30 секунд самостоятельно.

[vba]
Код
Sub Get_Value_From_Close_Book()
    Dim sShName As String, sAddress As String, vData
    'Отключаем обновление экрана
    Application.ScreenUpdating = False
    Workbooks.Open "C:\Users\1ukom.xlsm" '"
    sAddress = "A1:O2000" 'или одна ячейка - "A1"
    'получаем значение
    vData = Sheets("Лист1").Range(sAddress).Value
    ActiveWorkbook.Close False
    'Записываем данные на активный лист книги,
    'с которой запустили макрос
    If IsArray(vData) Then
        [A1].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
    Else
        [A1] = vData
    End If
    'Включаем обновление экрана
    Application.ScreenUpdating = True
End Sub
[/vba]


Сообщение отредактировал awaddwaawddw - Вторник, 26.12.2017, 17:14
 
Ответить
СообщениеЗдравствуйте, помогите доработать код пожалуйста:

Нужно чтобы макрос включался, каждые 30 секунд самостоятельно.

[vba]
Код
Sub Get_Value_From_Close_Book()
    Dim sShName As String, sAddress As String, vData
    'Отключаем обновление экрана
    Application.ScreenUpdating = False
    Workbooks.Open "C:\Users\1ukom.xlsm" '"
    sAddress = "A1:O2000" 'или одна ячейка - "A1"
    'получаем значение
    vData = Sheets("Лист1").Range(sAddress).Value
    ActiveWorkbook.Close False
    'Записываем данные на активный лист книги,
    'с которой запустили макрос
    If IsArray(vData) Then
        [A1].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
    Else
        [A1] = vData
    End If
    'Включаем обновление экрана
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - awaddwaawddw
Дата добавления - 26.12.2017 в 17:00
Nic70y Дата: Вторник, 26.12.2017, 17:25 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4850
Репутация: 1050 ±
Замечаний: 0% ±

Excel 2013
Вам таймер нужен?
[vba]
Код
Application.Wait Now + TimeSerial(0, 0, 30)
[/vba]


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
СообщениеВам таймер нужен?
[vba]
Код
Application.Wait Now + TimeSerial(0, 0, 30)
[/vba]

Автор - Nic70y
Дата добавления - 26.12.2017 в 17:25
bmv98rus Дата: Вторник, 26.12.2017, 17:35 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1330
Репутация: 226 ±
Замечаний: 0% ±

Excel 2013/2016
скорее
Application.OnTime Now + TimeSerial(0, 0, 30), "Get_Value_From_Close_Book"
 
Ответить
Сообщениескорее
Application.OnTime Now + TimeSerial(0, 0, 30), "Get_Value_From_Close_Book"

Автор - bmv98rus
Дата добавления - 26.12.2017 в 17:35
awaddwaawddw Дата: Вторник, 26.12.2017, 17:37 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 166
Репутация: 7 ±
Замечаний: 0% ±

Excel 2007
Именно этот код
Код
Application.OnTime Now + TimeSerial(0, 0, 30), "Get_Value_From_Close_Book"

Заработал. Спасибо!
 
Ответить
СообщениеИменно этот код
Код
Application.OnTime Now + TimeSerial(0, 0, 30), "Get_Value_From_Close_Book"

Заработал. Спасибо!

Автор - awaddwaawddw
Дата добавления - 26.12.2017 в 17:37
Hugo Дата: Вторник, 26.12.2017, 18:44 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2854
Репутация: 639 ±
Замечаний: 0% ±

На всякий случай гляньте в хелпе пример кода как этот Application.OnTime сбросить - когда-нибудь пригодится.
Для этого задавайте время через публичную переменную.


excel@nxt.ru
webmoney: E265281470651 R418926282008 Z422237915069
 
Ответить
СообщениеНа всякий случай гляньте в хелпе пример кода как этот Application.OnTime сбросить - когда-нибудь пригодится.
Для этого задавайте время через публичную переменную.

Автор - Hugo
Дата добавления - 26.12.2017 в 18:44
bmv98rus Дата: Вторник, 26.12.2017, 20:47 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1330
Репутация: 226 ±
Замечаний: 0% ±

Excel 2013/2016
да, и для вашего случая :-) Workbooks.Open FileName:="C:\Users\1ukom.xlsm" '" , ReadOnly:=True
 
Ответить
Сообщениеда, и для вашего случая :-) Workbooks.Open FileName:="C:\Users\1ukom.xlsm" '" , ReadOnly:=True

Автор - bmv98rus
Дата добавления - 26.12.2017 в 20:47
krosav4ig Дата: Среда, 27.12.2017, 13:48 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1659
Репутация: 690 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а обновление каждую минуту не подойдет?
К сообщению приложен файл: 4092068.xlsx(15.8 Kb)


(_)Õvõ(_)

Сообщение отредактировал krosav4ig - Среда, 27.12.2017, 13:48
 
Ответить
Сообщениеа обновление каждую минуту не подойдет?

Автор - krosav4ig
Дата добавления - 27.12.2017 в 13:48
bmv98rus Дата: Среда, 27.12.2017, 14:48 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 1330
Репутация: 226 ±
Замечаний: 0% ±

Excel 2013/2016
krosav4ig, так как в теме(темах) от рождения их, то отвечу, не подходит не период, а MS Query
http://www.excelworld.ru/forum/6-36590-240513-16-1513574684 и http://www.excelworld.ru/forum/6-36590-241062-16-1514245447
 
Ответить
Сообщениеkrosav4ig, так как в теме(темах) от рождения их, то отвечу, не подходит не период, а MS Query
http://www.excelworld.ru/forum/6-36590-240513-16-1513574684 и http://www.excelworld.ru/forum/6-36590-241062-16-1514245447

Автор - bmv98rus
Дата добавления - 27.12.2017 в 14:48
awaddwaawddw Дата: Среда, 21.03.2018, 11:36 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 166
Репутация: 7 ±
Замечаний: 0% ±

Excel 2007
Вопрос всё по этому коду:

[vba]
Код
Sub Get_Value_From_Close_Book()
Application.OnTime Now + TimeSerial(0, 0, 30), "Get_Value_From_Close_Book"
Dim sShName As String, sAddress As String, vData
'Отключаем обновление экрана
Application.ScreenUpdating = False
Workbooks.Open "C:\Users\1ukom.xlsm" '" , ReadOnly:=True
sAddress = "A1:O2000" 'или одна ячейка - "A1"
'получаем значение
vData = Sheets("Лист1").Range(sAddress).Value
ActiveWorkbook.Close False
'Записываем данные на активный лист книги,
'с которой запустили макрос
If IsArray(vData) Then
[A1].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
Else
[A1] = vData
End If
'Включаем обновление экрана
Application.ScreenUpdating = True
End Sub
[/vba]

Вопрос данный код выполняет: Записываем данные на активный лист книги, с которой запустили макрос

Что нужно исправить в коде, чтобы данные записывались на неактивный лист, например мне нужно чтобы данные записались в Лист1, но при этом я сижу и работаю с Лист2


Сообщение отредактировал awaddwaawddw - Среда, 21.03.2018, 11:37
 
Ответить
СообщениеВопрос всё по этому коду:

[vba]
Код
Sub Get_Value_From_Close_Book()
Application.OnTime Now + TimeSerial(0, 0, 30), "Get_Value_From_Close_Book"
Dim sShName As String, sAddress As String, vData
'Отключаем обновление экрана
Application.ScreenUpdating = False
Workbooks.Open "C:\Users\1ukom.xlsm" '" , ReadOnly:=True
sAddress = "A1:O2000" 'или одна ячейка - "A1"
'получаем значение
vData = Sheets("Лист1").Range(sAddress).Value
ActiveWorkbook.Close False
'Записываем данные на активный лист книги,
'с которой запустили макрос
If IsArray(vData) Then
[A1].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
Else
[A1] = vData
End If
'Включаем обновление экрана
Application.ScreenUpdating = True
End Sub
[/vba]

Вопрос данный код выполняет: Записываем данные на активный лист книги, с которой запустили макрос

Что нужно исправить в коде, чтобы данные записывались на неактивный лист, например мне нужно чтобы данные записались в Лист1, но при этом я сижу и работаю с Лист2

Автор - awaddwaawddw
Дата добавления - 21.03.2018 в 11:36
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическое получение данных из закрытой книги. (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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