这应该很简单,但我似乎无法找到答案!使Excel跳到一行
我使用Excel电子表格来获得产品定价,重量和描述。我想在“X1”中输入零件号码,我希望Excel在“F”列中找到零件号并转到该零件号所在的行。我已经使用= 14 + MATCH(X1, F15:F1835,0)来查找行,但是我必须手动去行来查看关于该部分的所有信息。我希望Excel自动跳转到行。
这应该很简单,但我似乎无法找到答案!使Excel跳到一行
我使用Excel电子表格来获得产品定价,重量和描述。我想在“X1”中输入零件号码,我希望Excel在“F”列中找到零件号并转到该零件号所在的行。我已经使用= 14 + MATCH(X1, F15:F1835,0)来查找行,但是我必须手动去行来查看关于该部分的所有信息。我希望Excel自动跳转到行。
试试看。是不言而喻的工作表对象模块:
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
Target
是Range("X1")
值。只有在该单元格中所做的更改才会在F列中查找。如果在F列中有多个该值,则只会找到第一个值。
我刚刚有同样的问题,但在共享Excel表,所以没有VBA可能。
有使用[名称管理器]中的[配方]选项卡上,比的形状从[插入]选项卡
在此字段中输入以下公式(注意:代替Sheet1,您需要输入工作表的名称) = INDIRECT(ADDRESS(MATCH(Sheet1!$ X $ 1,Sheet1!$ F:$ F ,0),6,1,1,“Sheet1”))
单击[关闭]并确认更改
现在你总是会跳转到在细胞X1输入的部件编号当你点击形状的线。
这是我可以在没有VBA的情况下在Excel中创建动态超链接的唯一方法, (尽管如此,您必须使用上述步骤的确切顺序,否则您将无法看到创建名称标签时的超级链接,但一旦它完成它的工作原理就像一个魅力:)
作品在2010年的Excel德国 T.
问候你需要在worksheet_change事件VBA。 –
只是一个方面说明:你的公式可以简化为= = MATCH(X1,F:F,0)' –
我会设置这个以填充单元格旁边的单元格, 。然后,不需要VBA。 – Kyle