2016-08-17 33 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.