Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2020, 10:39   #1
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию запуск запросов по очереди

Здравствуйте!
У меня в книге есть 2 запроса. 1 запрос на главном листе "1", 2-ой на листе "2". Оба запроса обращаются к файлам EXСL, которые лежат в папке "загрузки". Запускаю через
Код:
ActiveWorkbook.RefreshAll
, далее идут другие команды. Всё работает, но при этом активным остается лист "2". А хотелось бы чтобы курсор оставался на главном листе, где вся нужная информация. И я так подозреваю что надо запускать запросы поочередно. Подскажите код пожалуйста
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 20.05.2020, 10:50   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

подозреваю что нужно написать:
ActiveWorkbook.RefreshAll
worksheets(1).activate
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.05.2020, 10:58   #3
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию

IgorGO, Пытался, не помогло.
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 20.05.2020, 12:27   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

В макросах небось .Select и .Selection понаписывали?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 20.05.2020, 13:24   #5
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
В макросах небось .Select и .Selection понаписывали?
Был Select, отключил, все равно не помогло.
Хорошо, абстрагируемся) Какой нужен код, что бы после отработки всех команд на экране появился нужный лист?
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 20.05.2020, 13:33   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

worksheets("НужныйЛист").activate
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.05.2020, 13:47   #7
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию

вот код
Код:
Sub Макрос1()
worksheets("к оплате").activate ' тут поставил
' проверка наличия нужных файлов
Set FSO = CreateObject("Scripting.FileSystemObject")
File = "C:\Users\user\Downloads\список ДТ.xlsx"
MsgBox "файл " & File & IIf(Dir(File) = "", " отсутствует!", " найден.")
File = "C:\Users\user\Downloads\DataSetAccountBalance.xlsx"
MsgBox "файл " & File & IIf(Dir(File) = "", " отсутствует!", " найден.")
ActiveWorkbook.RefreshAll ' обновление всех запросов
Worksheets("к оплате").Activate ' тут поставил
' настройка ширины столбцов
         Dim col As Range
   For Each col In Columns("C:E")
     col.AutoFit ' автоширина
  Application.ScreenUpdating = True ' Возвращаем режим обновления экрана при изменении

 Range("g1").FormulaR1C1 = Date 'в яч ставит дату
 
 Dim lr As Long
   
    'Поиск последней строки по столбцу С.
      ' End не ищет в скрытых строках.
    lr = Cells(Rows.Count, "C").End(xlUp).Row
   
    ' пропустить 4 строк и вставить надпись в колонку D
    Cells(lr + 4, "D").Value = "К оплате _________________"
    
 Next
worksheets("к оплате").activate ' и тут поставил
End Sub
Всё равно процесс останавливается на листе 2
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 20.05.2020, 14:06   #8
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
worksheets("к оплате").[A1].Select
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 20.05.2020, 14:15   #9
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию

Не помогло. Может в настройках оффиса какой-то глюк. В принципе не критично мышкой нажать на нужный лист... Хотелось понять почему. Cпасибо всем.
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 20.05.2020, 14:27   #10
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Может и глюк а может и вы не все описали

У меня такой фрагмент перекидывает на 1 лист с 4-го
Код:
......
    Sheets(1).Activate
    Sheets(1).[A1].Select
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание SQL запросов,сложных запросов,хранимых процедур,триггеров Anette666k Фриланс 2 10.05.2017 15:34
Создание SQL запросов,сложных запросов,триггеров - Заказать диплом, курсовую работу Anette666k Фриланс 2 07.05.2017 13:43
С заданной целочисленной очереди организовать две: первая содержит все положительные элементы данной очереди, вторая - отрицательн wowan30002 Общие вопросы C/C++ 0 20.11.2012 17:39
запуск нескольких программ по очереди Volkogriz Общие вопросы Delphi 5 11.09.2012 18:32
Запуск экзешников по очереди Airou Общие вопросы Delphi 2 03.09.2008 21:15