Skip to main content

如何在 Excel 中循環遍歷列直到找到特定值?

Author: Sun Last Modified: 2025-08-06

在某些情況下,您可能希望逐列循環遍歷,直到在工作表中找到特定值。這裡我介紹一個巨集代碼,幫助您循環遍歷數據,直到找到特定值。

循環遍歷直到特定值


arrow blue right bubble 循環遍歷直到特定值

1. 按 Alt + F11 鍵啟用 Microsoft Visual Basic for Applications 視窗背景色。

2. 點擊 插入 > 模組,將以下代碼粘貼到空白的模組中。

VBA:循環遍歷列直到特定值

Sub LoopUntilSpecificValue()
'UpdatebyExtendoffice20161222
    Dim fStr As String
    Dim strActAddress As String
    Dim fbool As Boolean
    Dim cnt As Long, cntRow As Long
    Dim xRg As Range, yRg As Range, zRg As Range
    fbool = False
    strActAddress = ""
    cnt = 0
    On Error Resume Next
    Set zRg = ActiveSheet.UsedRange
    cntRow = zRg.Rows.Count
   
    Set xRg = Application.InputBox _
        (Prompt:="Range select..", Title:="Kutools for Excel", Type:=8)
    fStr = Application.InputBox _
        (Prompt:="Search string?", Title:="Kutools for Excel", Type:=2)
    Application.ScreenUpdating = False
    For Each yRg In xRg
       
        If yRg.Row > cntRow Then
            MsgBox "Value not found ", vbInformation, "Kutools for Excel"
            Application.ScreenUpdating = True
            Exit Sub
        End If
        If yRg.Value2 = fStr Then
            Application.ScreenUpdating = True
            yRg.Activate
            fbool = True
            strActAddress = yRg.Address
            MsgBox "Value found in cell " & strActAddress, vbInformation, "Kutools for Excel"
            
            Exit Sub
        Else
            cnt = cnt + 1
        End If
        
    Next yRg
    
    If cnt = xRg.Count Then
        MsgBox "Value not found ", vbInformation, "Kutools for Excel"
    End If
    Application.ScreenUpdating = True
End Sub

A screenshot showing the pasted code in the module window

3. 按 F5 鍵,將彈出一個對話框供選擇要循環遍歷的列。請參見截圖:
A screenshot showing the input box for selecting a range to loop through in Excel

4. 點擊 確定,在第二個彈出的對話框中輸入您要查找的字串。請參見截圖:
A screenshot of the input box for entering the string to search for

5. 點擊 確定。它將循環遍歷選定區域,直到找到指定的值。
A screenshot of the dialog showing the loop search result in Excel

備註:如果未找到匹配的值,將出現一個對話框通知您未找到匹配項。
A screenshot showing the dialog box notifying no value found in Excel

最佳 Office 辦公效率工具

🤖 Kutools AI Aide:徹底革新數據分析,基於智能執行|生成程式碼|創建自訂公式|分析數據並生成圖表|調用 Kutools Functions
熱門功能查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不丟失資料 | 四捨五入...
高級 LOOKUP多條件查找|多值查找|多表查找|模糊查找...
高級下拉列表快速創建下拉列表 | 關聯下拉列表 | 多選下拉列表 ...
列管理器添加指定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 區域與列比較 ...
精選功能網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫 (自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線 ...)...
前15 大工具集12 款文本工具添加文本刪除特定字符,...)|50+ 種圖表 類型甘特圖,...)|40+ 實用 公式基於生日計算年齡,...)|19 款插入工具插入QR码按路徑插入圖片,...)|12 款轉換工具金額轉大寫匯率轉換,...)|7 款合併和分割工具高級合併行分割儲存格,...)| ...以及更多
使用 Kutools 支援你的語言——支援英語、西班牙語、德語、法語、中文及40 多種語言!

利用 Kutools for Excel 大幅提升你的 Excel 技能,感受前所未有的高效體驗。 Kutools for Excel 提供超過300 項高級功能,助你提升效率並保存時間。 點此查看你最需要的功能...


Office Tab 為 Office 帶來標籤式介面,讓你的工作更加輕鬆

  • 啟用 Word、Excel、PowerPoint 的標籤式編輯和閱讀功能
  • 在同一個視窗的標籤中打開和創建多個文件,而不是在新窗口中分開開啟。
  • 可提升你50% 的工作效率,每天為你大量減少滑鼠點擊次數!