【发布时间】:2018-05-04 11:46:21
【问题描述】:
我正在尝试编写一个 VBA 宏(我将附加到命令按钮),它搜索 K7 到 K13 以找到“Sheet1”、“Sheet2”、“Sheet3”或“Sheet4”只有一个答案是可能基于预先存在的 If/Then 语句。 当它找到“Sheet1”时,我希望它运行宏“GoToSheet1” 当它找到“Sheet2”时,我希望它运行宏“GoToSheet2” 当它找到“Sheet3”时,我希望它运行宏“GoToSheet3” 当它找到“Sheet4”时,我希望它运行宏“GoToSheet4”
基本上,根据某人如何回答两个是/否问题,我有四种可能的情况。这就是最初的 if/then 语句所涵盖的内容。但是,我无法让 VBA 宏在单元格范围 K7 到 K13 中搜索四个文本短语中的任何一个。
【问题讨论】:
-
请分享您到目前为止所尝试的内容?
-
试试
If Not Range("K7:K13").Find("Sheet1") Is Nothing Then GoToSheet1 -
我尝试了使用现有论坛示例的案例陈述,但不确定如何将搜索从单元格更改为范围。我也不确定如何获得多个结果(例如,如果它没有找到“Sheet1”,那么我希望它搜索“Sheet2”)。
-
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$K$7" Then Select Case Target.Value Case "Sheet1" Call GoToSheet1 Case "Sheet2" Call GoToSheet2 Case "Sheet3" Call GoToSheet3 Case "Sheet4" Call GoToSheet4 End Select End If End Sub 这显然是错误的,因为它只搜索特定单元格“K7”而不是“K7”到“K13”范围