一个Excelmacros切换工作表的基础上,在列的任何地方放置的值范围

我试图创build一个macros,它将从Sheet1切换到Sheet2,当在列A中的任何单元格中键入单词“是”。最接近我得到这个工作是与下面的代码切换工作表当在特定单元格中input“是”时。

Sub ifs() If Worksheets("Sheet1").Range("A1").Value = "Yes" Then Sheets("Sheet2").Select Else End If End Sub 

就像我提到的,你可以在A1单元格中创build一个超链接,它将直接带你到Sheet2,但是如果你想要VBA代码,那么试试这个。 该代码将进入Sheet1的表单区域

 Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo Whoa If Target.CountLarge > 1 Then Exit Sub Application.EnableEvents = False If Not Intersect(Target, Columns(1)) Is Nothing And _ UCase(Target.Value) = "YES" Then _ ThisWorkbook.Sheets("Sheet2").Activate Letscontinue: Application.EnableEvents = True Exit Sub Whoa: MsgBox Err.Description Resume Letscontinue End Sub 

注意 :如果你对超链接的方法感兴趣,那么这是值得一看。 签出“ Create a hyperlink to a specific location in a workbook ”部分

 Sub ifs() If WorkSheetFunction.CountIf(Worksheets("Sheet1").Range("A:A"),"Yes") > 0 Then Sheets("Sheet2").Select End If End Sub