亚洲中文字幕乱码亚洲-蜜桃成熟视频在线观看-免费中文字幕视频在线-中国五十路熟妇洗澡视频-亚洲av伊人啪啪c-国产精品成人一区二区-国产自拍视频一区在线观看-成人一区不卡二区三区四区-亚洲情精品中文字幕99在线

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

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è)看到對應(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è)模糊的搜索下拉,就需要對代碼做一下修改,只需將前3行修改為自己對應(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)推薦
張?zhí)m已經(jīng)把話挑明了,馬筱梅這些日子的反常,的確事出有因

張?zhí)m已經(jīng)把話挑明了,馬筱梅這些日子的反常,的確事出有因

云深不知在何處
2026-04-19 13:24:04
G1輸球不可怕!可怕的是火箭主帥烏度卡賽后這番話,習(xí)慣性甩鍋!

G1輸球不可怕!可怕的是火箭主帥烏度卡賽后這番話,習(xí)慣性甩鍋!

田先生籃球
2026-04-19 15:17:44
越南高鐵訂單給了德國,蘇林來中國為何還要坐10多個(gè)小時(shí)高鐵?

越南高鐵訂單給了德國,蘇林來中國為何還要坐10多個(gè)小時(shí)高鐵?

小嵩
2026-04-18 09:37:40
荷蘭政府花200億挽留無效,光刻機(jī)巨頭ASML為何執(zhí)意從老家搬走?

荷蘭政府花200億挽留無效,光刻機(jī)巨頭ASML為何執(zhí)意從老家搬走?

普陀動(dòng)物世界
2026-04-18 00:30:08
咽不下委國肥肉,美國嘗盡苦果:中國一滴不買,特朗普降價(jià)求接盤

咽不下委國肥肉,美國嘗盡苦果:中國一滴不買,特朗普降價(jià)求接盤

杰絲聊古今
2026-04-18 16:10:19
專家呼吁:馬上停用5種調(diào)味醬,它是腸癌催化劑!再下飯也別沾

專家呼吁:馬上停用5種調(diào)味醬,它是腸癌催化劑!再下飯也別沾

路醫(yī)生健康科普
2026-04-18 16:18:55
下周預(yù)期要大漲方向!五大熱點(diǎn)題材周末不斷發(fā)酵  核心標(biāo)的已梳理

下周預(yù)期要大漲方向!五大熱點(diǎn)題材周末不斷發(fā)酵 核心標(biāo)的已梳理

元芳說投資
2026-04-19 17:03:48
湖人1-0火箭!老詹談東契奇把話挑明,艾頓說出重點(diǎn),一點(diǎn)成關(guān)鍵

湖人1-0火箭!老詹談東契奇把話挑明,艾頓說出重點(diǎn),一點(diǎn)成關(guān)鍵

魚崖大話籃球
2026-04-19 15:53:20
61歲張曼玉近照曝光,臉僵到認(rèn)不出?終于明白她死活不上浪姐了

61歲張曼玉近照曝光,臉僵到認(rèn)不出?終于明白她死活不上浪姐了

科學(xué)發(fā)掘
2026-04-19 06:49:58
局勢再次急轉(zhuǎn)直下,美伊談判更加難以折中,打的可能性再次飆升

局勢再次急轉(zhuǎn)直下,美伊談判更加難以折中,打的可能性再次飆升

邵旭峰域
2026-04-19 17:10:03
爭議!張水華參賽不給直播鏡頭 石屏文旅遭批:在全國面前丟人了

爭議!張水華參賽不給直播鏡頭 石屏文旅遭批:在全國面前丟人了

念洲
2026-04-19 09:27:28
太可怕了!繼注射藥物、熱巴事件后,王陽再揭娛樂圈最臟的一面

太可怕了!繼注射藥物、熱巴事件后,王陽再揭娛樂圈最臟的一面

橙星文娛
2026-04-17 13:19:56
Temu的潰敗,給跨境電商敲響警鐘

Temu的潰敗,給跨境電商敲響警鐘

止戈見聞
2026-04-18 11:35:21
缺德到這種程度,已經(jīng)沒有半點(diǎn)“人性”了

缺德到這種程度,已經(jīng)沒有半點(diǎn)“人性”了

胖胖說他不胖
2026-04-17 09:25:19
老同學(xué)聚會(huì)班花陰陽我:同學(xué)中就屬你混得差,我:你爸都是我員工

老同學(xué)聚會(huì)班花陰陽我:同學(xué)中就屬你混得差,我:你爸都是我員工

紅豆講堂
2025-04-23 11:05:46
最新!三位北大數(shù)院女校友獲2026科學(xué)突破獎(jiǎng)

最新!三位北大數(shù)院女校友獲2026科學(xué)突破獎(jiǎng)

深究科學(xué)
2026-04-19 14:07:37
預(yù)售價(jià)近40萬元的小鵬,把所有人都忽悠了!

預(yù)售價(jià)近40萬元的小鵬,把所有人都忽悠了!

新浪財(cái)經(jīng)
2026-04-19 02:52:50
美國若敢玩火,中方就敢動(dòng)手!外交部這次的一個(gè)表態(tài),極不尋常

美國若敢玩火,中方就敢動(dòng)手!外交部這次的一個(gè)表態(tài),極不尋常

時(shí)光在作祟
2026-04-19 16:46:57
公交一味壓縮成本,反而越省越亂?北京運(yùn)營現(xiàn)狀說出實(shí)話

公交一味壓縮成本,反而越省越亂?北京運(yùn)營現(xiàn)狀說出實(shí)話

劉哥談體育
2026-04-19 12:19:13
全員“梓涵”消失不見,老師崩潰!新一批爛大街名字再次來襲

全員“梓涵”消失不見,老師崩潰!新一批爛大街名字再次來襲

譚老師地理大課堂
2026-04-12 20:21:47
2026-04-19 19:20:49
Excel從零到一 incentive-icons
Excel從零到一
0基礎(chǔ),0成本學(xué)習(xí)Excel
581文章數(shù) 87216關(guān)注度
往期回顧 全部

科技要聞

50分26秒破人類紀(jì)錄!300臺(tái)機(jī)器人狂飆半馬

頭條要聞

印度當(dāng)晚召見伊朗大使抗議兩船只遭開火襲擊 伊朗回應(yīng)

頭條要聞

印度當(dāng)晚召見伊朗大使抗議兩船只遭開火襲擊 伊朗回應(yīng)

體育要聞

湖人1比0火箭:老詹比烏度卡像教練

娛樂要聞

張?zhí)鞇墼u(píng)論區(qū)淪陷!被曝卷入小三風(fēng)波

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

華誼兄弟,8年虧光85億

汽車要聞

29分鐘大定破萬 極氪8X為什么這么多人買?

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

教育
家居
親子
健康
公開課

教育要聞

2026年擬增設(shè)碩士點(diǎn)名單,公示中

家居要聞

法式線條 時(shí)光靜淌

親子要聞

孩子模仿巔峰期:父母不光要教育孩子,也要“自我教育”

干細(xì)胞抗衰4大誤區(qū),90%的人都中招

公開課

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

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