Автоматическое получение данных из закрытой книги.
stalber
Дата: Вторник, 26.12.2017, 17:00 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 371
Репутация:
7
±
Замечаний:
40% ±
Excel 2021
Здравствуйте, помогите доработать код пожалуйста: Нужно чтобы макрос включался, каждые 30 секунд самостоятельно.
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
Здравствуйте, помогите доработать код пожалуйста: Нужно чтобы макрос включался, каждые 30 секунд самостоятельно.
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
stalber
Сообщение отредактировал 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 = ТrueEnd Sub
[/vba] Автор - stalber Дата добавления - 26.12.2017 в 17:00
Nic70y
Дата: Вторник, 26.12.2017, 17:25 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9133
Репутация:
2416
±
Замечаний:
0% ±
Excel 2010
Вам таймер нужен?
Application.Wait Now + TimeSerial (0 , 0 , 30 )
Вам таймер нужен?
Application.Wait Now + TimeSerial (0 , 0 , 30 )
Nic70y
ЮMoney 41001841029809
Ответить
Сообщение Вам таймер нужен? [vba]
Application.Wait Now + ТimeSerial(0; 0; 30)
[/vba] Автор - Nic70y Дата добавления - 26.12.2017 в 17:25
bmv98rus
Дата: Вторник, 26.12.2017, 17:35 |
Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация:
772
±
Замечаний:
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
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение скорее Application.OnTime Now + TimeSerial(0, 0, 30), "Get_Value_From_Close_Book" Автор - bmv98rus Дата добавления - 26.12.2017 в 17:35
stalber
Дата: Вторник, 26.12.2017, 17:37 |
Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 371
Репутация:
7
±
Замечаний:
40% ±
Excel 2021
Именно этот код
Application.OnTime Now + ТimeSerial(0; 0; 30); "Get_Value_From_Close_Book"
Заработал. Спасибо!
Именно этот код
Application.OnTime Now + ТimeSerial(0; 0; 30); "Get_Value_From_Close_Book"
Заработал. Спасибо! stalber
Ответить
Сообщение Именно этот код
Application.OnTime Now + ТimeSerial(0; 0; 30); "Get_Value_From_Close_Book"
Заработал. Спасибо! Автор - stalber Дата добавления - 26.12.2017 в 17:37
Hugo
Дата: Вторник, 26.12.2017, 18:44 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация:
814
±
Замечаний:
0% ±
365
На всякий случай гляньте в хелпе пример кода как этот Application.OnTime сбросить - когда-нибудь пригодится. Для этого задавайте время через публичную переменную.
На всякий случай гляньте в хелпе пример кода как этот Application.OnTime сбросить - когда-нибудь пригодится. Для этого задавайте время через публичную переменную. Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение На всякий случай гляньте в хелпе пример кода как этот Application.OnTime сбросить - когда-нибудь пригодится. Для этого задавайте время через публичную переменную. Автор - Hugo Дата добавления - 26.12.2017 в 18:44
bmv98rus
Дата: Вторник, 26.12.2017, 20:47 |
Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация:
772
±
Замечаний:
0% ±
Excel 2013/2016
да, и для вашего случая :-) Workbooks.Open FileName:="C:\Users\1ukom.xlsm" '" , ReadOnly:=True
да, и для вашего случая :-) Workbooks.Open FileName:="C:\Users\1ukom.xlsm" '" , ReadOnly:=True bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение да, и для вашего случая :-) Workbooks.Open FileName:="C:\Users\1ukom.xlsm" '" , ReadOnly:=True Автор - bmv98rus Дата добавления - 26.12.2017 в 20:47
krosav4ig
Дата: Среда, 27.12.2017, 13:48 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
а обновление каждую минуту не подойдет?
а обновление каждую минуту не подойдет? krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Среда, 27.12.2017, 13:48
Ответить
Сообщение а обновление каждую минуту не подойдет? Автор - krosav4ig Дата добавления - 27.12.2017 в 13:48
bmv98rus
Дата: Среда, 27.12.2017, 14:48 |
Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация:
772
±
Замечаний:
0% ±
Excel 2013/2016
Замечательный Временно просто медведь , процентов на 20 .
Ответить
stalber
Дата: Среда, 21.03.2018, 11:36 |
Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 371
Репутация:
7
±
Замечаний:
40% ±
Excel 2021
Вопрос всё по этому коду:
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
Вопрос данный код выполняет: Записываем данные на активный лист книги, с которой запустили макрос Что нужно исправить в коде, чтобы данные записывались на неактивный лист, например мне нужно чтобы данные записались в Лист1, но при этом я сижу и работаю с Лист2
Вопрос всё по этому коду:
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
Вопрос данный код выполняет: Записываем данные на активный лист книги, с которой запустили макрос Что нужно исправить в коде, чтобы данные записывались на неактивный лист, например мне нужно чтобы данные записались в Лист1, но при этом я сижу и работаю с Лист2 stalber
Сообщение отредактировал awaddwaawddw - Среда, 21.03.2018, 11:37
Ответить
Сообщение Вопрос всё по этому коду: [vba]
Sub Get_Value_From_Close_Book()Application.OnTime Now + ТimeSerial(0; 0; 30); "Get_Value_From_Close_Book"Dim sShName As String ; sAddress As String ; vData 'Отключаем обновление экранаApplication.ScreenUpdating = FalseWorkbooks.Open "C:\Users\1ukom.xlsm" '" , ReadOnly:=ТruesAddress = "A1:O2000 " 'или одна ячейка - "A1 "'получаем значениеvData = Sheets("Лист1 ").Range(sAddress ).ValueActiveWorkbook.Close False'Записываем данные на активный лист книги ;'с которой запустили макросIf IsArray(vData ) Then [A1 ].Resize(UBound(vData ; 1); UBound(vData ; 2)).Value = vDataElse [A1 ] = vDataEnd If 'Включаем обновление экранаApplication.ScreenUpdating = ТrueEnd Sub
[/vba] Вопрос данный код выполняет: Записываем данные на активный лист книги, с которой запустили макрос Что нужно исправить в коде, чтобы данные записывались на неактивный лист, например мне нужно чтобы данные записались в Лист1, но при этом я сижу и работаю с Лист2 Автор - stalber Дата добавления - 21.03.2018 в 11:36