2016-08-17 62 views
0

这应该很简单,但我似乎无法找到答案!使Excel跳到一行

我使用Excel电子表格来获得产品定价,重量和描述。我想在“X1”中输入零件号码,我希望Excel在“F”列中找到零件号并转到该零件号所在的行。我已经使用= 14 + MATCH(X1, F15:F1835,0)来查找行,但是我必须手动去行来查看关于该部分的所有信息。我希望Excel自动跳转到行。

+0

问候你需要在worksheet_change事件VBA。 –

+0

只是一个方面说明:你的公式可以简化为= = MATCH(X1,F:F,0)' –

+0

我会设置这个以填充单元格旁边的单元格, 。然后,不需要VBA。 – Kyle

回答

0

试试看。是不言而喻的工作表对象模块:

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim rFound As Range 

With ActiveSheet 
    If Not Intersect(.Range("X1"), Target) Is Nothing Then 
    Set rFound = .Columns(6).Find(What:=Target, After:=.Cells(1, 6), LookIn:=xlValues, LookAt:= _ 
     xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) 
     If Not rFound Is Nothing Then 
      Application.Goto rFound, True 
     Else 
      MsgBox Range("X1").Value & " was not found!" 
     End If   
    End If 
End With 

End Sub 

TargetRange("X1")值。只有在该单元格中所做的更改才会在F列中查找。如果在F列中有多个该值,则只会找到第一个值。

0

我刚刚有同样的问题,但在共享Excel表,所以没有VBA可能。

有使用[名称管理器]中的[配方]选项卡上,比的形状从[插入]选项卡

  1. 的方式在你的页面中,选择一个随机面积比
  2. 点击[名称管理器]公式选项卡上,
  3. 选择[新...]
  4. 型随机名称(我用JUMP),然后单击[确定] [关闭]
  5. 去[插入]选项卡单击[形状]并创建一个您选择的形状(我使用了文本博x,看起来像一个正常的按钮)
  6. 然后右键单击形状并选择[超链接...]
  7. 单击[在此文档中的位置]并在右侧的[定义的名称]下选择JUMP标签,你刚刚创建并按[确定]
  8. 现在回到[名称管理器]的[公式]选项卡上,并在名称管理器窗口的底部选择名称标签(JUMP) ,名为[指:]
  9. 在此字段中输入以下公式(注意:代替Sheet1,您需要输入工作表的名称) = INDIRECT(ADDRESS(MATCH(Sheet1!$ X $ 1,Sheet1!$ F:$ F ,0),6,1,1,“Sheet1”))

  10. 单击[关闭]并确认更改

现在你总是会跳转到在细胞X1输入的部件编号当你点击形状的线。

这是我可以在没有VBA的情况下在Excel中创建动态超链接的唯一方法, (尽管如此,您必须使用上述步骤的确切顺序,否则您将无法看到创建名称标签时的超级链接,但一旦它完成它的工作原理就像一个魅力:)

作品在2010年的Excel德国 T.