excel動態(tài)查詢表如何做? 利用VBA實現(xiàn)工作表數(shù)據(jù)的動態(tài)查詢的教程
發(fā)布時間:2024-11-25 09:19:35 作者:佚名
我要評論

excel如何在多個工作表中查找某個給定值,當(dāng)然要求這個給定的值在一個工作表中要是單一的值,如果是多個值我們可以稍微改一下代碼即可,我們不再做詳細講解
利用VBA設(shè)計并實現(xiàn)工作表數(shù)據(jù)的動態(tài)查詢。功能介紹:
- 1.當(dāng)我們點擊“動態(tài)加載并查詢”時,將工作表數(shù)據(jù)加載到列表框中。同時,我們可以下拉選擇查詢字段;
- 2.當(dāng)我們在文本框實時輸入時,列表框?qū)?strong>動態(tài)顯示滿足條件的數(shù)據(jù)。
- 3.當(dāng)文本框內(nèi)容全部清除時,列表框?qū)?strong>顯示工作表的全部數(shù)據(jù)。
實現(xiàn)效果GIF
UI設(shè)計
這里主要使用到ComboBox 、TextBox和ListView控件。
- 1.ComboBox控件:用于選擇“查找字段”,名稱設(shè)置為cbbField,Style屬性設(shè)置為:2-fmStyleDropDownList。
- 2.TextBox控件:用于輸入查找內(nèi)容,名稱設(shè)置為tbSearch。
- 3.ListView控件:用于顯示全部或滿足條件的工作表數(shù)據(jù),名稱和相關(guān)屬性均默認。
窗體主界面設(shè)計VBA代碼
1.定義全局變量-arr數(shù)組
'用于保存工作表數(shù)據(jù) Dim arr() As Variant
2.窗體初始化事件
Private Sub UserForm_Initialize() cbbField.Value = Cells(1, 2) '將工作表的單元格數(shù)據(jù)賦值給arr arr = Range("a1").CurrentRegion Dim j As Integer '從第一列到最后一列 For j = 1 To UBound(arr, 2) '將查找字段添加至復(fù)選框 cbbField.AddItem Cells(1, j) '給ListView控件增加標題行 ListView1.ColumnHeaders.Add , , Cells(1, j), 60 Next With ListView1 .View = lvwReport .Gridlines = True End With Dim i As Integer For i = 2 To UBound(arr, 1) Dim item As ListItem Set item = ListView1.ListItems.Add item.Text = arr(i, 1) For j = 2 To UBound(arr, 2) item.SubItems(j - 1) = arr(i, j) Next Next tbSearch.SetFocus End Sub
3.TextBox控件的Change事件
Private Sub tbSearch_Change() '清空ListView的所有項目 ListView1.ListItems.Clear Dim i As Integer, j As Integer For i = 2 To UBound(arr, 1) If arr(i, cbbField.ListIndex + 1) Like tbSearch.Text & "*" Then Dim item As ListItem Set item = ListView1.ListItems.Add item.Text = arr(i, 1) For j = 2 To UBound(arr, 2) item.SubItems(j - 1) = arr(i, j) Next End If Next End Sub
以上就是利用VBA實現(xiàn)工作表數(shù)據(jù)的動態(tài)查詢的教程,希望大家喜歡,請繼續(xù)關(guān)注腳本之家。
相關(guān)文章
excel表格怎么用vba批量建立文件夾? Excel建文件夾實例
excel中需要創(chuàng)建文件夾來管理文件,通常都是一個一個創(chuàng)建,我們可以通過Excel的VBA(Visual Basic for Applications)編寫一個簡單的腳本來自動化這個過程,詳細請看下文介2024-06-11excel表格怎么快速插入空行? VBA批量隔行加入空白行的技巧
excel表格怎么快速插入空行?excel表格中想要在表格中插入空行,我們可以使用vba實現(xiàn),下面我們就來看看VBA批量隔行加入空白行的技巧2023-07-24- excel表格怎么利用VBA代碼快速制作一份通訊錄?excel表格中想要利用vba代碼快速制作一份通訊錄,該怎么制作呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2020-07-13
- excel表格怎么利用VBA代碼插入交叉矩形圖?excel表格中想要繪制交叉的矩形圖,該怎么繪制這個圖形呢?我們可以使用vba代碼來繪制,下面我們就來看看詳細的教程,需要的朋友2020-04-28
- excel怎么利用VBA代碼插入同心圓?excel中想要畫一個同心圓,該怎么繪制同心圓呢?下面我們就來看看excel總vba插入同心圓的教程,需要的朋友可以參考下2020-04-22
- excel怎么使用VBA代碼自動生成三維餅圖?excel表格中的數(shù)據(jù)想要自動生成三維餅圖,該怎么制作呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2020-03-06
- excel表格怎么使用vba實現(xiàn)全屏顯示?excel表格想要實現(xiàn)全屏顯示,該怎么設(shè)置呢?我們可以使用vba實現(xiàn),下面我們就來看看詳細的教程,需要的朋友可以參考下2020-01-08
excel表格中VBA文件怎么實現(xiàn)定時自我刪除?
excel表格中VBA文件怎么實現(xiàn)定時自我刪除?excel中想要實現(xiàn)文件可以定時自動刪除,該怎么實現(xiàn)這個功能呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2020-01-06excel表格怎么使用VBA向其他工作表追加數(shù)據(jù)?
excel表格怎么使用VBA向其他工作表追加數(shù)據(jù)?excel表格中想要向其他表格追加數(shù)據(jù),該怎么實現(xiàn)呢?今天我們就來看看使用vba實現(xiàn)的方法,需要的朋友可以參考下2020-01-03- excel表格怎么使用VBA刪除匯總表以外的所有分表?excel表中制作了一個匯總表,想要刪除匯總表以外的表格,該怎么刪除呢?我們可以使用vba實現(xiàn),下面我們就來看看詳細的教程2020-01-02