跳转到单元格单击button

我有一个优秀的VB代码,我在Excel中做了一个button,当点击转到下一张表,并根据员工数量search值。 我在这个代码中使用了Vlookup。 我的问题是光标应该直接进入search到的单元格。 我的代码如下:

Private Sub CommandButton3_Click() Sheets("Sheet2").Activate Dim rng As Range Dim ws1, ws2 As Worksheet Dim MyStringVar1 As String Set ws1 = ThisWorkbook.Sheets("Sheet1") Set ws2 = ThisWorkbook.Sheets("Sheet2") Set rng = ws1.Range("c4") With ws1 MyStringVar1 = Application.WorksheetFunction.VLookup(rng, ws2.Range("b3:n13").Value, 5, False) On Error GoTo 0 If MyStringVar1 = "" Then MsgBox "Item not found" Else MsgBox MyStringVar1 End With End Sub 

你有没有尝试过使用select而不是msgbox

 Private Sub CommandButton3_Click() Sheets("Sheet2").Activate Dim rng As Range Dim ws1, ws2 As Worksheet Dim MyStringVar1 As String Set ws1 = ThisWorkbook.Sheets("Sheet1") Set ws2 = ThisWorkbook.Sheets("Sheet2") Set rng = ws1.Range("c4") With ws1 MyStringVar1 = Application.WorksheetFunction.VLookup(rng, ws2.Range("b3:n13").Value, 5, False) On Error GoTo 0 If MyStringVar1 = "" Then MsgBox "Item not found" Else MyStringVar1.Select End With End Sub 

我build议你严格依赖VB代码,通过使用for循环扫描sheet2列1为相等的值,一旦发现它将设置焦点在同一行第5列,在下面的例子代码将检查只有10行,你可以调整,如你所愿。

 Sub usingvbonly() Dim key As String Sheets("sheet1").Select key = Cells(4, 3).Value 'Value in sheet1 range("C4") Sheets("sheet2").Select For i = 1 To 10 Step 1 If Cells(i, 1).Value = key Then Cells(i, 5).Select End If Next i End Sub 

试试看。

 Sub UsingFind() Dim ws As Worksheet, sh As Worksheet Dim Rws As Long, Rng As Range, c As Range, lookRng As Range Set ws = Worksheets("Sheet1") Set sh = Worksheets("Sheet2") With sh Rws = .Cells(Rows.Count, "B").End(xlUp).Row Set Rng = .Range(.Cells(1, "B"), .Cells(Rws, "B")) End With Set lookRng = ws.Range("C4") Set c = Rng.Find(what:=lookRng, lookat:=xlWhole) If Not c Is Nothing Then Application.Goto Reference:=c.OFFSET(0,4) Else: MsgBox "Not Found" Exit Sub End If End Sub 

在另一张表中查找数据