Страницы: 1
RSS
Найти среди множества открытых книгу с указанным окончанием имени
 
Как найти книгу среди множества открытых у которой в конце имени например будет «ищи»

Это нужно с целью дальнейшей активации книги среди множества открытых
 
в vba нет ПСТР или ПРАВСИМВ
Код
Sub search()
    For Each wb In Application.Workbooks
        If wb.Name Like "*ищи.xls*" Then
            wb.Activate
            Exit For
        End If
    Next
End Sub
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
в vba нет ПСТР или ПРАВСИМВ
не могу с вами согласиться:  ПСТР - Mid,  ПРАВСИМВ - Right
 
Андрей_26,  повторяю в vba нет ПСТР или ПРАВСИМВ; того, что нет функций с аналогичным функционалом я не утверждал.
Соблюдение правил форума не освобождает от модераторского произвола
 
активируйте книгу с помощью книга.Activate
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
buchlotnik написал:  того, что нет функций с аналогичным функционалом я не утверждал.
Ну понятно что в VBA нет кириллицы. Но это не аналогичные функции а одни и те же.  В английской версии Excel:  ПСТР - Mid,  ПРАВСИМВ - Right
 
Цитата
Андрей_26 написал:
одни и те же.
да, а вы можете в ячейке записать MID без третьего аргумента? А в коде? Функции листа и функции vba - это разные вещи, хотя названия могут совпадать, иногда это может сыграть злую шутку, как, например, с ROUND
Изменено: buchlotnik - 06.04.2020 17:54:02
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
Андрей_26 написал: не аналогичные функции а одни и те же
Не аналогичные, да?
А запишите-ка функцией листа  MID("test",2) - без указания длины фрагмента
или в коде ЛЕВСИМВ("test") - без указания количества символов
 
Я понимаю о чем вы говорите, есть в этом отличие. Хорошо убедили ))
 
buchlotnik, почему-то не работает, при выполнении ни чего не происходит. Что делаю не так?
Ігор Гончаренко, имя книги динамично и только одно слово не изменно.
 
Лучше бы в #2 искать регистронезависимо (строка 3):
Код
If LCase(wb.Name) Like "*ищи.xls*" Then
Владимир
 
Кажется я понял почему не срабатывает. Из-за того что Эксел свернут. Если не свернут, то работает. Как победить?
 
Цитата
vikttur написал:
или в коде ЛЕВСИМВ("test") - без указания количества символов
обана, ну так то точно не работает  :D   а у меня и на листе тоже  ;)


Цитата
Dobepman написал:
Из-за того что Эксел свернут.
application.WindowState
Изменено: БМВ - 16.04.2020 18:39:48
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх