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

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

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

0
分享至

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

一、準(zhǔn)備工作

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

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

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

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

二、創(chuàng)建窗體

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

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

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

三、使用代碼

按下快捷鍵ALT+F11調(diào)出VBA的設(shè)置窗口,之后會(huì)在右側(cè)看到對(duì)應(yīng)的sheet名稱(chēng),我們需要找到想要實(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ù)源工作表名稱(chēng)

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

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

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

End If

End Sub

五、其他事項(xiàng)

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

Const DATA_SHEET As String = "數(shù)據(jù)源" ' 數(shù)據(jù)源工作表名稱(chēng)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)”用戶(hù)上傳并發(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)推薦
汪小菲被喊話(huà)滾出麻六記,張?zhí)m不受影響去公司開(kāi)會(huì),馬筱梅沉默了

汪小菲被喊話(huà)滾出麻六記,張?zhí)m不受影響去公司開(kāi)會(huì),馬筱梅沉默了

笑飲孤鴻非
2026-03-07 03:41:13
俄羅斯發(fā)動(dòng)大規(guī)模襲擊,烏克蘭多地停電!美國(guó)向?yàn)跚笤?,澤連斯基:對(duì)技術(shù)交流和武器交換持開(kāi)放態(tài)度!烏方:要無(wú)人機(jī)就拿“愛(ài)國(guó)者”換

俄羅斯發(fā)動(dòng)大規(guī)模襲擊,烏克蘭多地停電!美國(guó)向?yàn)跚笤?,澤連斯基:對(duì)技術(shù)交流和武器交換持開(kāi)放態(tài)度!烏方:要無(wú)人機(jī)就拿“愛(ài)國(guó)者”換

每日經(jīng)濟(jì)新聞
2026-03-08 01:03:04
39分慘案引爆內(nèi)訌危機(jī)!掘金最強(qiáng)陣崩盤(pán),阿德?tīng)柭磁鸁o(wú)競(jìng)爭(zhēng)精神

39分慘案引爆內(nèi)訌危機(jī)!掘金最強(qiáng)陣崩盤(pán),阿德?tīng)柭磁鸁o(wú)競(jìng)爭(zhēng)精神

田先生籃球
2026-03-07 20:30:02
油價(jià)如果沖上100美元,A股最受益的10家公司

油價(jià)如果沖上100美元,A股最受益的10家公司

風(fēng)風(fēng)順
2026-03-07 07:32:40
情人關(guān)系己落伍!2026年爆火的5種兩性關(guān)系,第三種最讓人上頭

情人關(guān)系己落伍!2026年爆火的5種兩性關(guān)系,第三種最讓人上頭

匹夫來(lái)搞笑
2026-02-04 16:14:39
伊朗第18次報(bào)復(fù),特朗普遭報(bào)應(yīng),被迫從亞洲搬救兵

伊朗第18次報(bào)復(fù),特朗普遭報(bào)應(yīng),被迫從亞洲搬救兵

白色得季節(jié)
2026-03-08 00:42:55
為何要增加高中學(xué)位?因?yàn)椴桓默F(xiàn)狀,五五分流根本撐不住

為何要增加高中學(xué)位?因?yàn)椴桓默F(xiàn)狀,五五分流根本撐不住

老特有話(huà)說(shuō)
2026-03-07 16:16:46
盜墓界有個(gè)“不成文規(guī)定”:金銀珠寶都可拿,唯有一樣?xùn)|西不能動(dòng)

盜墓界有個(gè)“不成文規(guī)定”:金銀珠寶都可拿,唯有一樣?xùn)|西不能動(dòng)

史不語(yǔ)
2026-03-05 08:55:03
再見(jiàn),曼城!“大核”7000萬(wàn)轉(zhuǎn)投皇馬!瓜帥斥資2億,兩中場(chǎng)來(lái)投

再見(jiàn),曼城!“大核”7000萬(wàn)轉(zhuǎn)投皇馬!瓜帥斥資2億,兩中場(chǎng)來(lái)投

頭狼追球
2026-03-07 09:55:00
愛(ài)潑斯坦私人飛機(jī)駕駛員:克林頓曾坐過(guò)26次,空姐像糖果脫衣舞娘

愛(ài)潑斯坦私人飛機(jī)駕駛員:克林頓曾坐過(guò)26次,空姐像糖果脫衣舞娘

歷史龍?jiān)w
2026-03-07 13:35:10
中美俄衛(wèi)星定位精度差距太大!美0.1米,俄1.5米,中國(guó)北斗是多少

中美俄衛(wèi)星定位精度差距太大!美0.1米,俄1.5米,中國(guó)北斗是多少

壹知眠羊
2026-03-05 11:13:57
開(kāi)戰(zhàn)僅六天美薩德系統(tǒng)遭伊朗摧毀,金正恩送挑戰(zhàn)書(shū)

開(kāi)戰(zhàn)僅六天美薩德系統(tǒng)遭伊朗摧毀,金正恩送挑戰(zhàn)書(shū)

你笑的好甜美
2026-03-07 22:25:51
遼寧鐵人球迷意難平!不僅因?yàn)?-3慘敗泰山,更是因?yàn)橐韵挛妩c(diǎn)!

遼寧鐵人球迷意難平!不僅因?yàn)?-3慘敗泰山,更是因?yàn)橐韵挛妩c(diǎn)!

田先生籃球
2026-03-07 20:40:14
隨著巴黎圣日耳曼爆冷1-3轟然倒下,法甲最新積分榜出爐

隨著巴黎圣日耳曼爆冷1-3轟然倒下,法甲最新積分榜出爐

側(cè)身凌空斬
2026-03-07 06:34:39
隨著吉達(dá)聯(lián)合1-3,沙特聯(lián)榜首易主:C羅主隊(duì)從榜首滑落

隨著吉達(dá)聯(lián)合1-3,沙特聯(lián)榜首易主:C羅主隊(duì)從榜首滑落

側(cè)身凌空斬
2026-03-07 05:00:56
伊朗與王毅通話(huà)后,中俄領(lǐng)銜27國(guó)集體發(fā)聲必保全伊朗

伊朗與王毅通話(huà)后,中俄領(lǐng)銜27國(guó)集體發(fā)聲必保全伊朗

命運(yùn)自認(rèn)幽默
2026-03-07 04:24:25
兩大衛(wèi)視開(kāi)播!又一部諜戰(zhàn)劇來(lái)襲,比《潛伏》還要精彩!

兩大衛(wèi)視開(kāi)播!又一部諜戰(zhàn)劇來(lái)襲,比《潛伏》還要精彩!

樂(lè)楓電影
2026-03-07 14:39:48
什么是性成癮?患者自述:比煙癮、酒癮厲害多了,比戒毒還難

什么是性成癮?患者自述:比煙癮、酒癮厲害多了,比戒毒還難

泠泠說(shuō)史
2025-10-30 15:20:45
滯留迪拜6天,7次航班取消,她咬牙買(mǎi)下54000元機(jī)票

滯留迪拜6天,7次航班取消,她咬牙買(mǎi)下54000元機(jī)票

中國(guó)新聞周刊
2026-03-07 19:23:03
央視《我的山與?!烽_(kāi)播!看完4集,我說(shuō):這是年代劇該有的樣子

央視《我的山與?!烽_(kāi)播!看完4集,我說(shuō):這是年代劇該有的樣子

好賢觀史記
2026-03-07 20:08:23
2026-03-08 01:51:00
Excel從零到一 incentive-icons
Excel從零到一
0基礎(chǔ),0成本學(xué)習(xí)Excel
580文章數(shù) 87198關(guān)注度
往期回顧 全部

科技要聞

OpenClaw爆火,六位"養(yǎng)蝦人"自述與AI共生

頭條要聞

選舉24小時(shí)內(nèi)舉行 伊朗今天或選出最高領(lǐng)袖

頭條要聞

選舉24小時(shí)內(nèi)舉行 伊朗今天或選出最高領(lǐng)袖

體育要聞

塔圖姆298天走完這段路 只用27分鐘征服這座城

娛樂(lè)要聞

汪小菲曝親媽猛料,張?zhí)m公開(kāi)財(cái)產(chǎn)分配

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

針對(duì)"不敢休、不讓休"怪圈 國(guó)家出手了

汽車(chē)要聞

逃離ICU,上汽通用“止血”企穩(wěn)

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

本地
藝術(shù)
健康
公開(kāi)課
軍事航空

本地新聞

食味印象|一口入魂!康樂(lè)烤肉串起千年絲路香

藝術(shù)要聞

1.61億天價(jià)!陳丹青的《牧羊人》如何震撼藝術(shù)界?

轉(zhuǎn)頭就暈的耳石癥,能開(kāi)車(chē)上班嗎?

公開(kāi)課

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

軍事要聞

美第三個(gè)航母打擊群據(jù)稱(chēng)準(zhǔn)備部署至中東

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