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

excel如何在多個(gè)工作表中查找某個(gè)給定值,當(dāng)然要求這個(gè)給定的值在一個(gè)工作表中要是單一的值,如果是多個(gè)值我們可以稍微改一下代碼即可,我們不再做詳細(xì)講解
利用VBA設(shè)計(jì)并實(shí)現(xiàn)工作表數(shù)據(jù)的動(dòng)態(tài)查詢。功能介紹:
- 1.當(dāng)我們點(diǎn)擊“動(dòng)態(tài)加載并查詢”時(shí),將工作表數(shù)據(jù)加載到列表框中。同時(shí),我們可以下拉選擇查詢字段;
- 2.當(dāng)我們?cè)谖谋究?strong>實(shí)時(shí)輸入時(shí),列表框?qū)?strong>動(dòng)態(tài)顯示滿足條件的數(shù)據(jù)。
- 3.當(dāng)文本框內(nèi)容全部清除時(shí),列表框?qū)?strong>顯示工作表的全部數(shù)據(jù)。
實(shí)現(xiàn)效果GIF
UI設(shè)計(jì)
這里主要使用到ComboBox 、TextBox和ListView控件。
- 1.ComboBox控件:用于選擇“查找字段”,名稱設(shè)置為cbbField,Style屬性設(shè)置為:2-fmStyleDropDownList。
- 2.TextBox控件:用于輸入查找內(nèi)容,名稱設(shè)置為tbSearch。
- 3.ListView控件:用于顯示全部或滿足條件的工作表數(shù)據(jù),名稱和相關(guān)屬性均默認(rèn)。
窗體主界面設(shè)計(jì)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控件增加標(biāo)題行 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的所有項(xiàng)目 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實(shí)現(xiàn)工作表數(shù)據(jù)的動(dòng)態(tài)查詢的教程,希望大家喜歡,請(qǐng)繼續(xù)關(guān)注腳本之家。
相關(guān)文章
excel表格怎么用vba批量建立文件夾? Excel建文件夾實(shí)例
excel中需要?jiǎng)?chuàng)建文件夾來(lái)管理文件,通常都是一個(gè)一個(gè)創(chuàng)建,我們可以通過Excel的VBA(Visual Basic for Applications)編寫一個(gè)簡(jiǎn)單的腳本來(lái)自動(dòng)化這個(gè)過程,詳細(xì)請(qǐng)看下文介2024-06-11excel表格怎么快速插入空行? VBA批量隔行加入空白行的技巧
excel表格怎么快速插入空行?excel表格中想要在表格中插入空行,我們可以使用vba實(shí)現(xiàn),下面我們就來(lái)看看VBA批量隔行加入空白行的技巧2023-07-24- excel表格怎么利用VBA代碼快速制作一份通訊錄?excel表格中想要利用vba代碼快速制作一份通訊錄,該怎么制作呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2020-07-13
- excel表格怎么利用VBA代碼插入交叉矩形圖?excel表格中想要繪制交叉的矩形圖,該怎么繪制這個(gè)圖形呢?我們可以使用vba代碼來(lái)繪制,下面我們就來(lái)看看詳細(xì)的教程,需要的朋友2020-04-28
- excel怎么利用VBA代碼插入同心圓?excel中想要畫一個(gè)同心圓,該怎么繪制同心圓呢?下面我們就來(lái)看看excel總vba插入同心圓的教程,需要的朋友可以參考下2020-04-22
- excel怎么使用VBA代碼自動(dòng)生成三維餅圖?excel表格中的數(shù)據(jù)想要自動(dòng)生成三維餅圖,該怎么制作呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2020-03-06
excel表格怎么使用vba實(shí)現(xiàn)全屏顯示?
excel表格怎么使用vba實(shí)現(xiàn)全屏顯示?excel表格想要實(shí)現(xiàn)全屏顯示,該怎么設(shè)置呢?我們可以使用vba實(shí)現(xiàn),下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2020-01-08excel表格中VBA文件怎么實(shí)現(xiàn)定時(shí)自我刪除?
excel表格中VBA文件怎么實(shí)現(xiàn)定時(shí)自我刪除?excel中想要實(shí)現(xiàn)文件可以定時(shí)自動(dòng)刪除,該怎么實(shí)現(xiàn)這個(gè)功能呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2020-01-06excel表格怎么使用VBA向其他工作表追加數(shù)據(jù)?
excel表格怎么使用VBA向其他工作表追加數(shù)據(jù)?excel表格中想要向其他表格追加數(shù)據(jù),該怎么實(shí)現(xiàn)呢?今天我們就來(lái)看看使用vba實(shí)現(xiàn)的方法,需要的朋友可以參考下2020-01-03- excel表格怎么使用VBA刪除匯總表以外的所有分表?excel表中制作了一個(gè)匯總表,想要?jiǎng)h除匯總表以外的表格,該怎么刪除呢?我們可以使用vba實(shí)現(xiàn),下面我們就來(lái)看看詳細(xì)的教程2020-01-02