這應該很簡單,但我似乎無法找到答案!使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