Страницы: 1
RSS
Как активировать окно эксель с частично известным названием файла., Макрос для активизации окна
 
Здравствуйте !
Возникла такая проблема при написании макроса. Название файла пользователи частично изменяют сами.
Файл имеет такой вид "Metallisty (100-1).xlsm " то что в скобках может изменятся.
Макрос должен копировать данные из другого файла  в таблицу.
Вот кусок кода .
Код
 Application.ScreenUpdating = False
    Workbooks.Open FileName:=ThisWorkbook.Path & "\Kalibrov_Grafik.xlsm" 'это название файла не изменяется
    Windows("Kalibrov_Grafik.xlsm").Activate
    Sheets("Indleather").Select
    Range("G3").Select
    Selection.Copy
    Windows("Metallisty (100-1).xlsm").Activate ' Пробовал менять на Metallisty *.xlsm не работает. Изменяются только цифры в скобках.
    Range("G3").Select

Сам макрос находится в "Metallisty (100-1).xlsm" каждый раз изменять макрос не вариант :). Я не программист жизнь заставила .

Подскажите как решить проблему что бы при копировании данных можно было активировать окно с любым названием.

Спасибо!
Изменено: vikttur - 27.11.2021 17:50:33
 
книга с запущенным макросом это всегда ThisWorkbook, таким образом

Код
    Workbooks.Open Filename:=ThisWorkbook.Path & "\Kalibrov_Grafik.xlsm" 
    Sheets("Indleather").Select
    Range("G3").Copy
    ThisWorkbook.Activate
    Range("G3").Select
Изменено: New - 27.11.2021 07:44:19
 
Конечно исходя из темы тут ответ должен быть иной, хотя дан ответ корректный исходя из того что было нужно.

Код
For Each Window In Application.Windows
    If Window.Caption Like "Metallisty (*).xlsm" Then
        Window.Activate
        Exit For
    End If
Next
По вопросам из тем форума, личку не читаю.
 
Спасибо  всем заработало  :)
Тема закрыта
Изменено: Alex_sil - 27.11.2021 14:41:09
Страницы: 1
Наверх