让Excel跳到一排

时间:2016-08-17 16:43:47

标签: excel

这应该很简单,但我似乎无法找到答案!

我使用Excel电子表格来确定产品定价,重量和描述。我想在" X1"中键入一个部件号。我想让Excel在列#34; F"中找到零件号。并转到该部件号所在的行。我使用了= 14 + MATCH(X1,F15:F1835,0)来查找行但是我必须手动转到行以查看有关该行的所有信息部分。我希望Excel自动跳转到行。

2 个答案:

答案 0 :(得分:0)

试一试。它位于Worksheet对象模块中:

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列中有多个该值,则只能找到第一个。

答案 1 :(得分:0)

我遇到了同样的问题但是在共享的Excel工作表上,所以没有VBA可能。

有一种方法可以使用[公式]选项卡上的[名称管理器]而不是[插入]选项卡中的形状

  1. 选择工作表上的随机区域而不是
  2. 单击“公式”选项卡上的[名称管理器]
  3. 选择[新建...]
  4. 输入随机名称(我使用JUMP)并单击[确定]和[关闭]
  5. 转到[插入]标签,单击[形状]并创建您选择的形状(我使用的文本框看起来像普通按钮)
  6. 然后右键单击形状并选择[超链接...]
  7. 单击[放置在本文档中]并在右侧的[定义名称]下选择刚刚创建的JUMP标签,然后按[确定]
  8. 现在返回[Formulas]选项卡上的[Name Manager]并选择您的名称标签(JUMP) 在名称管理器窗口的底部是一个名为[引用于:]
  9. 的代码行
  10. 在此字段中键入以下公式(注意:您需要输入工作表的名称而不是Sheet1) = INDIRECT(!ADDRESS(MATCH(Sheet 1中$ X $ 1,$表Sheet 1 F:$ F,0),6,1,1,"工作表Sheet&#34))

  11. 点击[关闭]并确认更改

  12. 现在,当您单击形状时,您将始终跳转到单元格X1中键入部件号的行。

    这是我在没有VBA的情况下在excel上制作动态超链接的唯一方法, (虽然整个事情有点小问题,你必须使用上面描述的确切步骤序列,否则在创建超链接时你将无法看到名称标签,但是一旦完成它就像魅力一样:)

    适用于excel 2010

    来自德国的问候 吨。