【发布时间】:2017-05-04 13:18:28
【问题描述】:
Private Sub Workbook_Open()
Dim WBname As String
WBname = ThisWorkbook.name
If Not InStr(WBname, "test") > 0 Then
MsgBox ("NotOK")
End If
End Sub
编辑:更多说明。
我现在测试“测试”是否在工作簿名称中。
但我想测试工作簿名称中是否有比“测试”更多的词,而无需将代码复制粘贴一千次。
【问题讨论】:
-
您可以使用 Range.Find 查看字符串是否在工作表上。或者您可以使用 Join() 将数组连接成一个字符串,您可以使用 Instr 从中进行检查。我相信 Range.Find 方法会更快。
-
未在电子表格中定义的完整字符串列表。 - 您是说需要测试一个(或多个)几个独立字符串值是否在工作簿名称? 电子表格中未定义是什么意思?
-
澄清了帖子。对不起。
-
阅读编辑似乎要测试工作表名称是否包含测试。我建议您遍历 thisworkbook.worksheets,如果您想根据名称测试一组值,然后将它们放入一个数组并执行嵌套循环。
-
我一直在看这个并且一直想知道
If Not。是不是有很多单词要检查(例如“Test”)并且您必须在 Workbook 名称中包含其中一个?就目前而言,如果工作簿名称不包含“Test”,您将收到“NotOK”消息框。