选择带有特定字符名称的工作表

问题描述 投票:0回答:2

我有一本有几张纸的工作簿。在这种情况下,我不能使用“索引”代替“选择”,因为我选择的工作表的位置可能会参考其他工作表而改变。这是一个例子

我的工作簿中的表格:最终报告,Alpha_A,Beta版

我需要在“最终报告”的B列中填充“ Alpha_A”工作表中的最后一个字符(在本例中为“ A”)。在这种情况下,我目前正在使用

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

但是,这是在几个不同的工作簿中完成的,每个工作簿都有最终报告和Beta版表,但是Alpha表名的末尾可能具有不同的字符(例如Alpha_A,Alpha_B,Alpha_C等... )。

我正在寻找一个代码来选择工作簿中包含单词“ Alpha”的工作表,以便当Alpha工作表的最后一个字符更改时,我没有更改代码。感谢您的帮助!

excel vba
2个回答
0
投票

如果下划线后只有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字母,则需要一个稍微的mod)


0
投票

根据我的理解,根据加里的学生代码,可能是〜:

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
© www.soinside.com 2019 - 2024. All rights reserved.