excel怎麼實現動態查詢表

利用VBA設計並實現工作表數據的動態查詢。功能介紹:

  • 1.當我們點擊“動態加載並查詢”時,將工作表數據加載到列表框中。同時,我們可以下拉選擇查詢字段
  • 2.當我們在文本框實時輸入時,列表框將動態顯示滿足條件的數據
  • 3.當文本框內容全部清除時,列表框將顯示工作表的全部數據

實現效果GIF

UI設計

這裡主要使用到ComboBox 、TextBox和ListView控件。

  • 1.ComboBox控件:用於選擇“查找字段”,名稱設置為cbbField,Style屬性設置為:2-fmStyleDropDownList
  • 2.TextBox控件:用於輸入查找內容,名稱設置為tbSearch
  • 3.ListView控件:用於顯示全部或滿足條件的工作表數據,名稱和相關屬性均默認

excel怎麼實現動態查詢表

窗體主界面設計VBA代碼

1.定義全局變量-arr數組

'用於保存工作表數據
Dim arr() As Variant

2.窗體初始化事件

Private Sub UserForm_Initialize()
    cbbField.Value = Cells(1, 2)
    '將工作表的單元格數據賦值給arr
    arr = Range("a1").CurrentRegion
    Dim j As Integer
    '從第一列到最後一列
    For j = 1 To UBound(arr, 2)
        '將查找字段添加至複選框
        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實現工作表數據的動態查詢的教程,希望大家喜歡,請繼續關注。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/184665.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-11-26 04:58
下一篇 2024-11-26 04:58

相關推薦

  • 為什麼不能用Microsoft Excel進行Python編程?

    Microsoft Excel是一個廣泛使用的數據分析工具,但是它不能直接用於Python編程。這是因為Microsoft Excel並不是一個編程工具,它的主要功能是進行數據處理…

    編程 2025-04-29
  • 基尼係數Excel計算模板

    這篇文章將介紹基尼係數Excel計算模板,為大家詳細闡述如何使用Excel進行基尼係數的計算。 一、模板下載及導入 首先需要下載基尼係數的Excel計算模板,可以在Excel中通過…

    編程 2025-04-28
  • 使用ReoGrid操作Excel的WPf應用

    本文將詳細闡述如何使用ReoGrid來操作Excel,重點介紹在WPF應用程序中使用ReoGrid的方法及注意點。 一、ReoGrid簡介 ReoGrid是一個基於.NET的開源組…

    編程 2025-04-27
  • Excel日期函數

    Excel是當前企業和個人使用非常廣泛的辦公軟件之一。其中的日期函數可以用於處理各種涉及日期和時間的任務。本文將從不同的方面介紹Excel日期函數,幫助讀者深入了解和熟練使用日期函…

    編程 2025-04-25
  • Java Excel導入導出詳解

    一、Excel文件簡介 Excel是微軟公司開發的一種電子表格程序,多用於商業、財務、科學等各種數據處理。 Excel文件通常以.xls或.xlsx格式存儲,其中.xls格式為Ex…

    編程 2025-04-25
  • Word轉Excel詳解

    一、使用Office插件 1、可以使用Office自帶的“將表格複製為Excel工作簿”插件。只需在Word中選中表格,點擊“插入”選項卡中的“對象”按鈕,在彈出的窗口中選擇“將表…

    編程 2025-04-25
  • Java Excel合併單元格

    一、介紹 Excel是微軟公司開發的一款非常流行的電子表格軟件,而Java是一門強大的編程語言。在項目中,我們可能會需要對Excel進行操作,比如合併單元格。Java提供了很多對E…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • 詳解VBA獲取當前文件路徑

    一、通過ActiveWorkbook路徑獲取文件路徑 在VBA中,我們可以通過ActiveWorkbook獲取當前操作的Excel文件的路徑。ActiveWorkbook屬性返回當…

    編程 2025-04-23
  • Excel 兩格內容合併一個探究

    一、合併單元格的操作方法 在Excel的操作中,我們需要對單元格進行操作。而合併單元格是其中一個常用的操作,它可以讓我們對一些數據進行整合和顯示。那麼,Excel 合併單元格的操作…

    編程 2025-04-23

發表回復

登錄後才能評論