我有一本有几张纸的工作簿。在这种情况下,我不能使用“索引”代替“选择”,因为我选择的工作表的位置可能会参考其他工作表而改变。这是一个例子
我的工作簿中的表格:最终报告,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工作表的最后一个字符更改时,我没有更改代码。感谢您的帮助!
如果下划线后只有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)
根据我的理解,根据加里的学生代码,可能是〜:
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