无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網易首頁 > 網易號 > 正文 申請入駐

Deepseek太強了!等了10年的Excel模糊下拉,竟然5分鐘就搞定了

0
分享至

今天跟大家分享下我們如何通過Deepseek來編寫VBA代碼,制作模糊搜索的下拉菜單,這個等來十來年的功能,用Deepseek竟然幾分鐘就搞定了,不得不感嘆AI工具的強大,我們以后能干的過AI嗎,這真的是個問題???

一、準備工作

1. 首先我們需先新建一個XLSM格式的Excel文件,這個文件能否保存宏代碼

2. 打開文件,新建一個sheet,將名稱更改數據:數據源

3. 在數據源這個sheet中的D列這個區域中來填寫下拉的內容

4. 新建第二個sheet,我們是需要在這里實現模糊匹配的下拉菜單的

二、創建窗體

首先點擊【開發工具】隨后我們需要在里面找到【插入】選擇【ActiveX控件】

在里面找到文本框(TextBox)和列表框(ListBox)直接插入即可,位置大小可以隨意設置

之后需要點擊【設計模式】退出設計模式,不然的話窗體不會生效。

三、使用代碼

按下快捷鍵ALT+F11調出VBA的設置窗口,之后會在右側看到對應的sheet名稱,我們需要找到想要實現這個效果的sheet,在這里是sheet1,所以我們就雙擊sheet1,復制代碼,將其直接按下快捷鍵Ctrl+V粘貼,最后按下快捷鍵Ctrl+S保存一下就可以了

設置完畢后,鼠標三擊單元格,激活文本框,在里面輸入即可自動匹配自己需要的數據

四、代碼展示

' 在模塊頂部聲明常量

Const DATA_SHEET As String = "數據源" ' 數據源工作表名稱

Const DATA_COL As String = "D" ' 數據源所在列

Const TARGET_COL As Integer = 1 ' 目標列(A列為1)

' 主選擇事件

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not IsValidTarget(Target) Then

HideControls

Exit Sub

End If

ResetControls

PositionControls Target

LoadData

End Sub

' 輸入實時處理

Private Sub TextBox1_Change()

UpdateSearchResults TextBox1.Text

End Sub

' 列表點擊處理

Private Sub ListBox1_Click()

If ListBox1.ListIndex = -1 Then Exit Sub

ActiveCell.Value = ListBox1.Value

HideControls

End Sub

' ================ 核心功能函數 ================

' 驗證目標單元格有效性

Private Function IsValidTarget(Target As Range) As Boolean

IsValidTarget = (Target.Column = TARGET_COL) And _

(Target.Row >= 2) And _

(Target.Count = 1)

End Function

' 隱藏控件

Private Sub HideControls()

ListBox1.Visible = False

TextBox1.Visible = False

ListBox1.Clear

TextBox1.Text = ""

End Sub

' 重置控件狀態

Private Sub ResetControls()

TextBox1.Visible = True

ListBox1.Visible = True

TextBox1.Text = ""

ListBox1.Clear

End Sub

' 定位控件位置

Private Sub PositionControls(Target As Range)

' 文本框位置(覆蓋單元格)

With TextBox1

.Top = Target.Top

.Left = Target.Left

.Width = Target.Width

.Height = Target.Height

End With

' 列表框位置(下方展開)

With ListBox1

.Top = Target.Top + Target.Height

.Left = Target.Left

.Width = Target.Width * 1.5

.Height = Target.Height * 8

End With

End Sub

' 加載數據源

Private Sub LoadData()

Dim arr

With Worksheets(DATA_SHEET)

Dim lastRow As Long

lastRow = .Cells(.Rows.Count, DATA_COL).End(xlUp).Row

If lastRow < 2 Then Exit Sub

arr = .Range(DATA_COL & "2:" & DATA_COL & lastRow).Value

End With

ListBox1.List = arr

End Sub

' 執行模糊搜索

Private Sub UpdateSearchResults(searchText As String)

Dim arr, results(), i As Long, k As Long

' 重新獲取數據源

With Worksheets(DATA_SHEET)

Dim lastRow As Long

lastRow = .Cells(.Rows.Count, DATA_COL).End(xlUp).Row

If lastRow < 2 Then Exit Sub

arr = .Range(DATA_COL & "2:" & DATA_COL & lastRow).Value

End With

' 清空搜索條件時顯示全部

If Trim(searchText) = "" Then

ListBox1.List = arr

Exit Sub

End If

' 執行模糊匹配

ReDim results(1 To UBound(arr))

For i = 1 To UBound(arr)

If InStr(1, arr(i, 1), searchText, vbTextCompare) > 0 Then

k = k + 1

results(k) = arr(i, 1)

End If

Next

' 更新列表框

ListBox1.Clear

If k > 0 Then

ReDim Preserve results(1 To k)

ListBox1.List = results

Else

ListBox1.AddItem "無匹配結果"

End If

End Sub

五、其他事項

默認是在A列來實現這個效果的,如果你想在其他列實現這個模糊的搜索下拉,就需要對代碼做一下修改,只需將前3行修改為自己對應的數據即可

Const DATA_SHEET As String = "數據源" ' 數據源工作表名稱Const DATA_COL As String = "D" ' 數據源所在列Const TARGET_COL As Integer = 1 ' 目標列(A列為1)

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
怒砍網紅樹的農婦:心像刀割一樣,最近沒什么游客了,不看好打造成景區

怒砍網紅樹的農婦:心像刀割一樣,最近沒什么游客了,不看好打造成景區

南方都市報
2026-06-12 08:25:52
人為什么要結婚,一位富婆說:“人真正需要的其實不是婚姻,也不是性,甚至都不是伴侶,而是這兩種正向的親密關系?!?>
    </a>
        <h3>
      <a href=人為什么要結婚,一位富婆說:“人真正需要的其實不是婚姻,也不是性,甚至都不是伴侶,而是這兩種正向的親密關系。” 心理觀察局
2026-06-12 06:34:20
A股:今天上午大漲逼空到4060,種種跡象表明,A股倒車接人或已結束?

A股:今天上午大漲逼空到4060,種種跡象表明,A股倒車接人或已結束?

趨勢清風俠
2026-06-12 12:10:39
42歲安東尼新戀情!女友是已故NFL球星遺孀 兩人約會畫面曝光

42歲安東尼新戀情!女友是已故NFL球星遺孀 兩人約會畫面曝光

羅說NBA
2026-06-12 08:19:05
特朗普:伊朗戰爭已經結束

特朗普:伊朗戰爭已經結束

財聞
2026-06-12 08:01:50
2027款豐田賽那MPV上市,權益價24.28萬起

2027款豐田賽那MPV上市,權益價24.28萬起

IT之家
2026-06-12 16:48:33
重磅互換!22歲超新星或加盟廣東,徐杰離隊,兩隊各補短板

重磅互換!22歲超新星或加盟廣東,徐杰離隊,兩隊各補短板

體育見習官
2026-06-12 11:08:14
美國軍隊痛哭流涕,這次犯了一個大錯,美國不該發動伊朗戰爭

美國軍隊痛哭流涕,這次犯了一個大錯,美國不該發動伊朗戰爭

揭秘歷史的真相
2026-06-11 21:22:04
萬噸大艦都沒鎮住菲律賓,中國連夜通告全球,后招已經安排上了!

萬噸大艦都沒鎮住菲律賓,中國連夜通告全球,后招已經安排上了!

阿傖說事
2026-06-12 18:08:37
為什么往死里掃黃?網友分享太真實了,一次說透

為什么往死里掃黃?網友分享太真實了,一次說透

另子維愛讀史
2026-05-27 20:16:03
199元賣斷貨!沒WiFi,沒微信,沒性能,憑什么被搶光

199元賣斷貨!沒WiFi,沒微信,沒性能,憑什么被搶光

數碼黃藥師
2026-06-11 09:42:10
王毅外長將訪問蒙古國,外交部進一步介紹此訪安排

王毅外長將訪問蒙古國,外交部進一步介紹此訪安排

環球網資訊
2026-06-11 15:40:05
000911,被證監會立案!

000911,被證監會立案!

證券時報e公司
2026-06-12 18:43:32
小鵬GX上市首月銷量,讓我楞了三分鐘

小鵬GX上市首月銷量,讓我楞了三分鐘

ZAKER新聞
2026-06-12 16:36:08
8名智力障礙人員被組織、運送到磚廠搬磚:對方通過集中食宿、代領工資等手段強迫勞動,被舉報后將人轉移至其他省份;幕后3人獲刑

8名智力障礙人員被組織、運送到磚廠搬磚:對方通過集中食宿、代領工資等手段強迫勞動,被舉報后將人轉移至其他省份;幕后3人獲刑

極目新聞
2026-06-12 13:27:03
河南“零分女生”蔣多多:因不滿高考制度,在試卷上寫8000字長文

河南“零分女生”蔣多多:因不滿高考制度,在試卷上寫8000字長文

混沌錄
2026-06-09 22:03:13
高考剛結束就往醫院跑?大廳走廊擠滿女生,家長無奈:根本攔不住

高考剛結束就往醫院跑?大廳走廊擠滿女生,家長無奈:根本攔不住

奇思妙想草葉君
2026-06-11 21:08:40
菲律賓強震已致55死,總統視察災區無故發笑,民眾怒批“你怎么笑得出來”,此前其民調滿意度為-15%創下新低

菲律賓強震已致55死,總統視察災區無故發笑,民眾怒批“你怎么笑得出來”,此前其民調滿意度為-15%創下新低

極目新聞
2026-06-12 16:00:01
央媒發聲!養路費改革全面推進,油電同權正式落地,不再一刀切

央媒發聲!養路費改革全面推進,油電同權正式落地,不再一刀切

侃故事的阿慶
2026-06-09 19:37:15
8小時三路夾擊!美日韓掀桌,日機沖臺海,美國:中國須答應一事

8小時三路夾擊!美日韓掀桌,日機沖臺海,美國:中國須答應一事

起喜電影
2026-06-12 16:28:08
2026-06-12 18:59:00
Excel從零到一 incentive-icons
Excel從零到一
0基礎,0成本學習Excel
581文章數 87229關注度
往期回顧 全部

科技要聞

鴻蒙7發布,余承東:首個完成AI化改造系統

頭條要聞

博主稱有印度游客在杭州拒交急診費 記者調查發現不實

頭條要聞

博主稱有印度游客在杭州拒交急診費 記者調查發現不實

體育要聞

歐洲恐韓?肉德維德?

娛樂要聞

一天4個瓜,肖戰熱巴最意外

財經要聞

萬億美元順差背后,透露這些信號

汽車要聞

佟湘北:全新smart#6 自成一派好看更好開

態度原創

親子
手機
游戲
本地
公開課

親子要聞

精細化養娃,該不該?

手機要聞

華為618換新攻略:至高省2000!從學習辦公到智慧家庭全搞定

曝索尼購買大批第三方獨占!為PS6打造豪華陣容

本地新聞

AK劉彰邂逅河北南大港濕地

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版