Выберите лист с именем с указанием c символов - PullRequest
0 голосов
/ 11 марта 2020

У меня есть рабочая тетрадь с несколькими листами. В этом случае я не могу использовать индекс вместо выбора, потому что расположение листа, который я выбираю, может измениться по отношению к другим листам. Вот пример

листов в моей рабочей книге: итоговый отчет, Alpha_A, бета

Мне нужно заполнить столбец B в «Итоговом отчете» последним символом на листе «Alpha_A» ( в данном случае «А»). В этом случае в настоящее время я использую

 Sheets("Alpha_A").Select
 Range("B3:B5000").Value = Right(ActiveSheet.Name, 1) 

. Однако это делается в нескольких разных книгах, где у каждого есть итоговый отчет и бета-листы, но в конце листа альфа-канала может быть другой символ имя (например, Alpha_A, Alpha_B, Alpha_ C, et c ...).

Я ищу код для выбора листа в рабочей книге, который содержит слово «Alpha», чтобы У меня нет кода изменения при изменении последнего символа листа Alpha. Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 11 марта 2020

основано на коде ученика Гэри, в соответствии с тем, что я понимаю, может быть ~:

Sub test()
    Dim s As Worksheet
    For Each s In ThisWorkbook.Sheets
        If InStr(s.Name, "Alpha_") Then
            s.Range("B3:B5000").Value = Right(s.Name, 1):exit sub
        End If
    Next s
End Sub
1 голос
/ 11 марта 2020

Если после знака подчеркивания есть только 1 , то:

Sub luxation()
    Dim s As Worksheet
    For Each s In ThisWorkbook.Sheets
        If Left(Right(s.Name, 7), Len(s.Name) - 1) = "Alpha_" Then
            Sheets("Final Report").Range("B3:B5000").Value = Right(s.Name, 1)
        End If
    Next s
End Sub

(Примечание: Select не требуется)
(Если после подчеркивания возможно более чем 1 , требуется небольшой мод)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...