EXCEL資料檢索

來源:酷知科普網 2.98W

excel有強大的資料處理功能,但它的“查詢”功能有些單一,不能將查詢到的資料提出到一個新表中,也就無法滿足一些使用者的需要了。尤其是在平時積累了好多資料,當有一天,我們想從中查詢一些感興趣的資料並匯出時,卻發現EXCEL的自帶“查詢”功能滿足不了我們的要求,那就試試下面的方法吧。
這個方法可以把檢索到的資料提取出來到一個新表中,而且只要輸入前一位或前幾位就可以檢索。
下面以“電話交費記錄”為例做一個示範表格。

步驟/方法

(01)第一步,準備資料表一共需要兩個工作表,有原始資料的工作表起名為“1”,檢索用的表起名為“2”。

EXCEL資料檢索

(02)從格式上說,這兩個表是相同的,所不同的只是在第一行。提示:原始資料表格的內容不一定和本例完全一樣,只要檢索表與原始資料表的格式一樣就行了。表格做好後,就可以編輯VBA程式碼了。

EXCEL資料檢索 第2張

(03)第二步,製做VBA程式碼選中“2”表,在下面標籤名上點滑鼠右鍵,選“檢視程式碼”,調出這個表2的VBA視窗把程式碼貼上進去

(04)程式碼如下:Dim aa As String &#x27;字元型Private Sub Worksheet_SelectionChange(ByVal Target As Range)enUpdating = False '禁止螢幕更新b = [c65536](xlUp)f b < 3 Then b = 3Sheets("2")e(Cells(3, 1), Cells(b, 11))rContents '先清除查詢區域s = Sheets("1")e("j1") '數量(使用COUNTA確定資料記錄行數)aa = Range("b1") '要查詢的號碼(完整或前幾位)x1 = 3 '從第三行開始For x = 3 To s + 3n = Len(aa)w = Sheets("1")s(x, 3) '從表1中取一個C列號碼賦值給變數wIf Len(w) >= n And Left(w, n) = aa Then '判斷這個號碼是否與要檢索的相符For j = 1 To 10Cells(x1, j) = Sheets("1")s(x, j) '將相符號碼的相關內容提取出來Next jx1 = x1 + 1End IfNextRange("b1")enUpdating = True '允許螢幕更新End Sub在程式碼中已經做了註釋,有VBA基礎的朋友很容易理解。

EXCEL資料檢索 第3張

(05)第三步,完成驗收最後就可以檢驗效果了,在表2的B1單元格中輸入“860”回車後,就把所有前三個數字相符的電話號碼檢索出來了。同樣,在B1格中輸入數字“8”,就能把所有第一位是8的電話號碼檢索出來。

(06)這個示例表格完成了一個簡單的檢索,為了介紹方便,只做了對一列資料的檢索,有興趣的朋友可以在此基礎上增加多列檢索,實用性就更強了。

EXCEL資料檢索 第4張
熱門標籤