前兩天,一個朋友問我,有沒有辦法在excel里實現(xiàn)一個表單里是原始數據,在另一個表單里顯示搜索到的行,搜索關鍵詞可用~分隔開,并把搜索歷史記錄下來?

  我想了想,用vba實現(xiàn)肯定可以啊,但是我又在想,有沒有可能excel自身的功能就可以實現(xiàn)了呢,但是后來沒有發(fā)現(xiàn)excel自帶這種功能。于是思考自己用vba給實現(xiàn)吧。

  于是我打開我的電腦,結果發(fā)現(xiàn)我的office版本是wps,根本就沒有vba功能,網上說的使用vba模塊安裝,但是始終沒有安裝成功。最后放棄了,自己下載一個office2013, 自帶vba功能。

  其實搜索功能實現(xiàn)思路相當簡單,無非就幾個循環(huán),把關鍵詞分割出來循環(huán),按行搜索循環(huán),按列搜索循環(huán),然后得到結果后,填充結果,對于歷史記錄,則需要得到最后一行的行號等。

附件已上傳,可點擊去下載: 跨表單搜索示例-2003.zip 
http://files.cnblogs.com/files/yougewe/%E8%B7%A8%E8%A1%A8%E5%8D%95%E6%90%9C%E7%B4%A2%E7%A4%BA%E4%BE%8B-2003.zip

關鍵功能代碼提示:

Sheets("原始數據").Range("A6").CurrentRegion        '獲取選擇區(qū)域數據searchArr = Split(searchStr, "~")                  ' 分割關鍵詞Range("A9:V" & Rows.Count).ClearContents        ' 清空原有數據Sheets("搜索記錄").Range("A65536").End(xlUp).Row    '獲取最大行的行號Sheets("搜索記錄").Range("A" & maxRow).Resize(m, columnCount) = brr    '數據填充

  實現(xiàn)代碼如下: 

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

Sub 點擊搜索原始數據()    Dim i&, j&, m&, c%, t$, columnCount    Dim arr, brr(), searchArr()&n