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

Вход

Регистрация

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

 

= Мир MS Excel/Проверка на существование листа с учетом регистра, возможно? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проверка на существование листа с учетом регистра, возможно? (Макросы/Sub)
Проверка на существование листа с учетом регистра, возможно?
Amon Дата: Понедельник, 18.06.2018, 10:44 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброе утро уважаемые форумчане.
Возможно глупый вопрос для вас , а я не могу к сожалению в интернете найти информацию по данному вопросу.
Есть макрос который проверяет существует ли лист в другой книге и если нет то копирует скрытый лист (MFO_3ay_Dog) и называется его с именем из ячейки, но вот беда, если существует лист Primer1 то вбив в имя листа primer1 то он попытается создать лист и потом выдаст ошибку. ( Что плохо очень для меня ) Как сделать чтобы макрос проверял имена листов с учетом регистра? Спасибо. Файлы прилагаю.

[vba]
Код

Sub papa()
Dim im As String
im = Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("a6") & ""
    Dim Sh As Worksheet, i As Long
    Dim file As String
        i = 1
            file = "Resultati_testov_mfo.xlsm"
            For Each Sh In Workbooks("Resultati_testov_mfo.xlsm").Sheets
                im = Sh.Name
                If im = Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("a6").Value Then
                            MsgBox  " & im & "  существует."
                            tt
                Exit Sub
               End If
         i = i + 1
    Next Sh
'--=======-=======----=======-=======----=======-=======----=======-=======----=======-=======----=======-=======----=======-=======----=======-=======--
    Workbooks("Resultati_testov_mfo.xlsm").Sheets("MFO_3ay_Dog").Visible = xlSheetVisible
    Workbooks("Resultati_testov_mfo.xlsm").Sheets("MFO_3ay_Dog").Copy After:=Workbooks(file).Sheets(Sheets.Count)
        With ActiveSheet
            .Name = Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("a6") & ""
        End With
    Workbooks("Resultati_testov_mfo.xlsm").Sheets("MFO_3ay_Dog").Visible = xlSheetHidden
       'End If
End Sub
[/vba]
К сообщению приложен файл: MFO_Scenariy.xlsm (27.4 Kb) · Resultati_testo.xlsm (18.8 Kb)


Сообщение отредактировал Amon - Понедельник, 18.06.2018, 10:48
 
Ответить
СообщениеДоброе утро уважаемые форумчане.
Возможно глупый вопрос для вас , а я не могу к сожалению в интернете найти информацию по данному вопросу.
Есть макрос который проверяет существует ли лист в другой книге и если нет то копирует скрытый лист (MFO_3ay_Dog) и называется его с именем из ячейки, но вот беда, если существует лист Primer1 то вбив в имя листа primer1 то он попытается создать лист и потом выдаст ошибку. ( Что плохо очень для меня ) Как сделать чтобы макрос проверял имена листов с учетом регистра? Спасибо. Файлы прилагаю.

[vba]
Код

Sub papa()
Dim im As String
im = Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("a6") & ""
    Dim Sh As Worksheet, i As Long
    Dim file As String
        i = 1
            file = "Resultati_testov_mfo.xlsm"
            For Each Sh In Workbooks("Resultati_testov_mfo.xlsm").Sheets
                im = Sh.Name
                If im = Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("a6").Value Then
                            MsgBox  " & im & "  существует."
                            tt
                Exit Sub
               End If
         i = i + 1
    Next Sh
'--=======-=======----=======-=======----=======-=======----=======-=======----=======-=======----=======-=======----=======-=======----=======-=======--
    Workbooks("Resultati_testov_mfo.xlsm").Sheets("MFO_3ay_Dog").Visible = xlSheetVisible
    Workbooks("Resultati_testov_mfo.xlsm").Sheets("MFO_3ay_Dog").Copy After:=Workbooks(file).Sheets(Sheets.Count)
        With ActiveSheet
            .Name = Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("a6") & ""
        End With
    Workbooks("Resultati_testov_mfo.xlsm").Sheets("MFO_3ay_Dog").Visible = xlSheetHidden
       'End If
End Sub
[/vba]

Автор - Amon
Дата добавления - 18.06.2018 в 10:44
_Boroda_ Дата: Понедельник, 18.06.2018, 10:55 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
ucase(im) = ucase(Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("a6").Value)
[/vba]
приводим все в большой регистр
или в маленький - lcase
или используйте instr https://msdn.microsoft.com/ru-ru....%3Dtrue
или Like https://msdn.microsoft.com/ru-ru....%3Dtrue


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
ucase(im) = ucase(Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("a6").Value)
[/vba]
приводим все в большой регистр
или в маленький - lcase
или используйте instr https://msdn.microsoft.com/ru-ru....%3Dtrue
или Like https://msdn.microsoft.com/ru-ru....%3Dtrue

Автор - _Boroda_
Дата добавления - 18.06.2018 в 10:55
Amon Дата: Понедельник, 18.06.2018, 11:07 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
приводим все в большой регистр

Наверное да, я читал где-то про это но я просто не понимаю, тогда все листы будут создаваться большими или же маленькими при ( lcase) да?

[p.s.]Попробовал вроде как все ок. Создает норм, проверяет вроде тоже. Спасибо большое еще раз, тему наверное можно закрывать.


Сообщение отредактировал Amon - Понедельник, 18.06.2018, 11:13
 
Ответить
Сообщение
приводим все в большой регистр

Наверное да, я читал где-то про это но я просто не понимаю, тогда все листы будут создаваться большими или же маленькими при ( lcase) да?

[p.s.]Попробовал вроде как все ок. Создает норм, проверяет вроде тоже. Спасибо большое еще раз, тему наверное можно закрывать.

Автор - Amon
Дата добавления - 18.06.2018 в 11:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проверка на существование листа с учетом регистра, возможно? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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