国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

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

0
分享至

今天跟大家分享下我們?nèi)绾瓮ㄟ^Deepseek來編寫VBA代碼,制作模糊搜索的下拉菜單,這個(gè)等來十來年的功能,用Deepseek竟然幾分鐘就搞定了,不得不感嘆AI工具的強(qiáng)大,我們以后能干的過AI嗎,這真的是個(gè)問題啊?

一、準(zhǔn)備工作

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

2. 打開文件,新建一個(gè)sheet,將名稱更改數(shù)據(jù):數(shù)據(jù)源

3. 在數(shù)據(jù)源這個(gè)sheet中的D列這個(gè)區(qū)域中來填寫下拉的內(nèi)容

4. 新建第二個(gè)sheet,我們是需要在這里實(shí)現(xiàn)模糊匹配的下拉菜單的

二、創(chuàng)建窗體

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

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

之后需要點(diǎn)擊【設(shè)計(jì)模式】退出設(shè)計(jì)模式,不然的話窗體不會(huì)生效。

三、使用代碼

按下快捷鍵ALT+F11調(diào)出VBA的設(shè)置窗口,之后會(huì)在右側(cè)看到對(duì)應(yīng)的sheet名稱,我們需要找到想要實(shí)現(xiàn)這個(gè)效果的sheet,在這里是sheet1,所以我們就雙擊sheet1,復(fù)制代碼,將其直接按下快捷鍵Ctrl+V粘貼,最后按下快捷鍵Ctrl+S保存一下就可以了

設(shè)置完畢后,鼠標(biāo)三擊單元格,激活文本框,在里面輸入即可自動(dòng)匹配自己需要的數(shù)據(jù)

四、代碼展示

' 在模塊頂部聲明常量

Const DATA_SHEET As String = "數(shù)據(jù)源" ' 數(shù)據(jù)源工作表名稱

Const DATA_COL As String = "D" ' 數(shù)據(jù)源所在列

Const TARGET_COL As Integer = 1 ' 目標(biāo)列(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

' 輸入實(shí)時(shí)處理

Private Sub TextBox1_Change()

UpdateSearchResults TextBox1.Text

End Sub

' 列表點(diǎn)擊處理

Private Sub ListBox1_Click()

If ListBox1.ListIndex = -1 Then Exit Sub

ActiveCell.Value = ListBox1.Value

HideControls

End Sub

' ================ 核心功能函數(shù) ================

' 驗(yàn)證目標(biāo)單元格有效性

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

' 重置控件狀態(tài)

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

' 加載數(shù)據(jù)源

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

' 執(zhí)行模糊搜索

Private Sub UpdateSearchResults(searchText As String)

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

' 重新獲取數(shù)據(jù)源

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

' 清空搜索條件時(shí)顯示全部

If Trim(searchText) = "" Then

ListBox1.List = arr

Exit Sub

End If

' 執(zhí)行模糊匹配

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 "無匹配結(jié)果"

End If

End Sub

五、其他事項(xiàng)

默認(rèn)是在A列來實(shí)現(xiàn)這個(gè)效果的,如果你想在其他列實(shí)現(xiàn)這個(gè)模糊的搜索下拉,就需要對(duì)代碼做一下修改,只需將前3行修改為自己對(duì)應(yīng)的數(shù)據(jù)即可

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

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

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.

相關(guān)推薦
熱點(diǎn)推薦
成本5億積壓7年,院線都沒上直接免費(fèi)網(wǎng)播,這電影就是個(gè)笑話!

成本5億積壓7年,院線都沒上直接免費(fèi)網(wǎng)播,這電影就是個(gè)笑話!

得得電影
2026-04-20 23:05:09
國防部曾發(fā)出最后通牒:關(guān)于如何處理賴清德,大陸早考慮好了

國防部曾發(fā)出最后通牒:關(guān)于如何處理賴清德,大陸早考慮好了

南宗歷史
2026-04-19 23:07:54
采耳變賣淫?女技師可變裝,躺采色誘客人,有反應(yīng)了就直接脫褲子

采耳變賣淫?女技師可變裝,躺采色誘客人,有反應(yīng)了就直接脫褲子

烏娛子醬
2025-03-19 10:27:30
美國敢抓馬杜羅、敢炸哈梅內(nèi)伊,為什么偏偏不敢動(dòng)金正恩?

美國敢抓馬杜羅、敢炸哈梅內(nèi)伊,為什么偏偏不敢動(dòng)金正恩?

賤議你讀史
2026-04-12 21:40:28
米體:賣淫團(tuán)伙案客戶涉及70名球員,含米蘭雙雄、尤文球員

米體:賣淫團(tuán)伙案客戶涉及70名球員,含米蘭雙雄、尤文球員

懂球帝
2026-04-22 01:35:09
19歲斯嘉麗為戲當(dāng)眾扯掉胸罩,導(dǎo)演急喊:快穿上!

19歲斯嘉麗為戲當(dāng)眾扯掉胸罩,導(dǎo)演急喊:快穿上!

TVB的四小花
2026-04-21 21:03:23
突傳大利好,要談成了?

突傳大利好,要談成了?

隔壁老投
2026-04-21 14:39:35
沙媒:馬寧在亞冠1/4決賽出現(xiàn)失誤,已被取消亞冠決賽執(zhí)法資格

沙媒:馬寧在亞冠1/4決賽出現(xiàn)失誤,已被取消亞冠決賽執(zhí)法資格

懂球帝
2026-04-21 12:40:40
紅色地下水澆地后續(xù):水閘已斷電,村民已經(jīng)無法澆灌

紅色地下水澆地后續(xù):水閘已斷電,村民已經(jīng)無法澆灌

映射生活的身影
2026-04-20 21:30:54
搭上英偉達(dá),惠州首富再敲鐘,公司市值一年暴漲10倍

搭上英偉達(dá),惠州首富再敲鐘,公司市值一年暴漲10倍

21世紀(jì)經(jīng)濟(jì)報(bào)道
2026-04-21 20:10:07
從3-7到10-7!威爾遜極限逆轉(zhuǎn)背后,這3個(gè)細(xì)節(jié)才是真正答

從3-7到10-7!威爾遜極限逆轉(zhuǎn)背后,這3個(gè)細(xì)節(jié)才是真正答

羅納爾說個(gè)球
2026-04-22 01:35:58
會(huì)談推遲兩天?俄伊外長緊急對(duì)表,特朗普:愿意和伊朗領(lǐng)導(dǎo)人會(huì)面

會(huì)談推遲兩天?俄伊外長緊急對(duì)表,特朗普:愿意和伊朗領(lǐng)導(dǎo)人會(huì)面

藍(lán)色海邊
2026-04-22 00:28:03
提醒:腸道開始癌變的第一信號(hào),喝水就知道?很多人都沒有放心上

提醒:腸道開始癌變的第一信號(hào),喝水就知道?很多人都沒有放心上

健康科普365
2026-04-21 18:30:03
西哈莫尼在華手術(shù),洪森父子三人親自陪同,背后傳遞出兩大信息

西哈莫尼在華手術(shù),洪森父子三人親自陪同,背后傳遞出兩大信息

阿天愛旅行
2026-04-21 18:45:11
倒計(jì)時(shí)僅幾小時(shí),伊朗仍未確認(rèn)參加談判,特朗普威脅:?;鸬狡趯⒒謴?fù)轟炸,現(xiàn)已有大量彈藥!美方談判人員已陸續(xù)抵達(dá)

倒計(jì)時(shí)僅幾小時(shí),伊朗仍未確認(rèn)參加談判,特朗普威脅:?;鸬狡趯⒒謴?fù)轟炸,現(xiàn)已有大量彈藥!美方談判人員已陸續(xù)抵達(dá)

每日經(jīng)濟(jì)新聞
2026-04-22 00:40:06
拼多多暴力抗法細(xì)節(jié)曝光:推搡拉扯執(zhí)法人員,員工當(dāng)場(chǎng)吃下紙團(tuán)!

拼多多暴力抗法細(xì)節(jié)曝光:推搡拉扯執(zhí)法人員,員工當(dāng)場(chǎng)吃下紙團(tuán)!

仕道
2026-04-20 17:48:21
炸穿臺(tái)灣政壇!蔣友松強(qiáng)行遷走兩蔣懸棺,半世紀(jì)漂泊終要?dú)w鄉(xiāng)

炸穿臺(tái)灣政壇!蔣友松強(qiáng)行遷走兩蔣懸棺,半世紀(jì)漂泊終要?dú)w鄉(xiāng)

陳漎侃故事
2026-04-14 17:28:18
輪到日本強(qiáng)烈不滿了!日本要求跟我們啟動(dòng)談判,我們不予理會(huì)!

輪到日本強(qiáng)烈不滿了!日本要求跟我們啟動(dòng)談判,我們不予理會(huì)!

荊楚寰宇文樞
2026-04-21 22:56:50
笑麻了!長大了竟然能理解反派了,網(wǎng)友:現(xiàn)在真的能共情容嬤嬤

笑麻了!長大了竟然能理解反派了,網(wǎng)友:現(xiàn)在真的能共情容嬤嬤

夜深愛雜談
2026-04-21 20:11:53
斷崖式下跌!大批杭州人凌亂了:到底要怎樣?即將再次反轉(zhuǎn)

斷崖式下跌!大批杭州人凌亂了:到底要怎樣?即將再次反轉(zhuǎn)

19樓
2026-04-21 15:30:00
2026-04-22 03:44:49
Excel從零到一 incentive-icons
Excel從零到一
0基礎(chǔ),0成本學(xué)習(xí)Excel
581文章數(shù) 87218關(guān)注度
往期回顧 全部

科技要聞

創(chuàng)造4萬億帝國、訪華20次,庫克留下了什么

頭條要聞

三國取消飛航許可 賴清德無法竄訪斯威士蘭

頭條要聞

三國取消飛航許可 賴清德無法竄訪斯威士蘭

體育要聞

一到NBA季后賽,四屆DPOY就成了主角

娛樂要聞

宋承炫曬寶寶B超照,宣布老婆懷孕

財(cái)經(jīng)要聞

現(xiàn)實(shí)是最大的荒誕:千億平臺(tái)的沖突始末

汽車要聞

全新坦克700正式上市 售價(jià)42.8萬-50.8萬元

態(tài)度原創(chuàng)

教育
親子
游戲
藝術(shù)
軍事航空

教育要聞

對(duì)不起,我有點(diǎn)“摳”

親子要聞

針對(duì)兒童青少年近視防控、心理行為發(fā)育監(jiān)測(cè)等,上海發(fā)布行動(dòng)計(jì)劃

漲價(jià)兩周即回調(diào)!索尼官方PS5數(shù)字版定價(jià)重回399美元

藝術(shù)要聞

任伯年寫竹,真帶勁

軍事要聞

特朗普公開對(duì)伊開戰(zhàn)真正原因

無障礙瀏覽 進(jìn)入關(guān)懷版