99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

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

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.

相關推薦
熱點推薦
為何美國不直接凍結中國在美資產?只要敢這么做,幫了中國的大忙

為何美國不直接凍結中國在美資產?只要敢這么做,幫了中國的大忙

西樓知趣雜談
2025-04-19 10:11:48
安東尼深情告別貝蒂斯:這是人生最美麗篇章,這份愛此生不渝

安東尼深情告別貝蒂斯:這是人生最美麗篇章,這份愛此生不渝

直播吧
2025-06-01 00:42:32
鬧大了!原來這件事是真的,事發上海…

鬧大了!原來這件事是真的,事發上海…

慧翔百科
2025-05-12 09:04:07
被制裁7年后,華為還是重回巔峰

被制裁7年后,華為還是重回巔峰

硬核熊貓說
2025-05-17 16:48:36
2-1!法網最神奇黑馬誕生,NO.361首進大滿貫16強,鄭欽文碰不到

2-1!法網最神奇黑馬誕生,NO.361首進大滿貫16強,鄭欽文碰不到

侃球熊弟
2025-05-31 21:58:59
這就是命?巴黎加冕歐冠冠軍!KD去年剛剛投資成為巴黎小老板

這就是命?巴黎加冕歐冠冠軍!KD去年剛剛投資成為巴黎小老板

直播吧
2025-06-01 07:16:18
姆巴佩去年12月采訪:現在不希望巴黎贏得歐冠,因為我要先贏

姆巴佩去年12月采訪:現在不希望巴黎贏得歐冠,因為我要先贏

直播吧
2025-06-01 15:31:03
孫繼海淘汰邊緣球員不收費!怪不得張卓毅母親敢提無理要求

孫繼海淘汰邊緣球員不收費!怪不得張卓毅母親敢提無理要求

金牌娛樂
2025-06-01 09:21:46
賈乃亮曬與甜馨端午節合照,父女五官如同復制粘貼

賈乃亮曬與甜馨端午節合照,父女五官如同復制粘貼

瀟湘晨報
2025-05-31 21:34:06
殲-20在渤海擊落F-35和預警機?越傳越離譜,造謠者膽子太肥了

殲-20在渤海擊落F-35和預警機?越傳越離譜,造謠者膽子太肥了

第一軍情
2025-05-31 19:33:23
2025金球獎獲獎概率更新:登貝萊與亞馬爾并駕齊驅,杜埃進榜

2025金球獎獲獎概率更新:登貝萊與亞馬爾并駕齊驅,杜埃進榜

雷速體育
2025-06-01 06:56:32
86票贊成,美國得州通過新法案,不許中國等外國人在美買房買地

86票贊成,美國得州通過新法案,不許中國等外國人在美買房買地

大道無形我有型
2025-05-30 21:02:48
重大事件!俄軍遭重創后勤生命線遭烏軍炸斷,布良斯克州橋梁坍塌

重大事件!俄軍遭重創后勤生命線遭烏軍炸斷,布良斯克州橋梁坍塌

國際情爆猿
2025-06-01 08:13:41
血賺步行者去年用布魯斯-布朗+三首輪換到的東決MVP西亞卡姆

血賺步行者去年用布魯斯-布朗+三首輪換到的東決MVP西亞卡姆

直播吧
2025-06-01 11:07:15
中方否決了印度提案,為“擊敗中國”,莫迪要砸重金,干三件大事

中方否決了印度提案,為“擊敗中國”,莫迪要砸重金,干三件大事

朝子亥
2025-06-01 18:50:03
臺陸委會最新民調公布,向大陸表達四個“不認同”,解放軍大動作

臺陸委會最新民調公布,向大陸表達四個“不認同”,解放軍大動作

DS北風
2025-05-30 11:33:11
特朗普宣布美軍新目標:不戰而勝,不玩多元化,不去外國搞顛覆

特朗普宣布美軍新目標:不戰而勝,不玩多元化,不去外國搞顛覆

紅色鑒史官
2025-05-31 17:35:03
86票贊成,特朗普圈定戰場,不許中國人在美購房,中方大幅拋美債

86票贊成,特朗普圈定戰場,不許中國人在美購房,中方大幅拋美債

史海任我行
2025-05-31 19:22:51
非要打垮東大?最大“對手”出現!這次不是美國,普京成最大贏家

非要打垮東大?最大“對手”出現!這次不是美國,普京成最大贏家

小小小白看世界
2025-06-01 06:03:49
提拉米蘇中毒事件監測報告公布,比毒藥還猛,女網紅要踩縫紉機了

提拉米蘇中毒事件監測報告公布,比毒藥還猛,女網紅要踩縫紉機了

新游戲大妹子
2025-05-31 12:43:38
2025-06-01 19:43:00
Excel從零到一 incentive-icons
Excel從零到一
0基礎,0成本學習Excel
564文章數 87128關注度
往期回顧 全部

科技要聞

熱搜!雷軍疑回應余承東

頭條要聞

剛走一天就遭白宮"背刺" 馬斯克:很失望

頭條要聞

剛走一天就遭白宮"背刺" 馬斯克:很失望

體育要聞

一邊倒的歐冠決賽,青春無敵的新科冠軍

娛樂要聞

張若昀夫婦國外遛娃 男方推平價兒童車

財經要聞

油價繼續下跌?歐佩克宣布將再度增產

汽車要聞

零跑汽車5月交付量達45,067臺 穩居新勢力前三

態度原創

手機
教育
親子
公開課
軍事航空

手機要聞

vivo攜手OPPO成最大贏家,但第一不屬于它們

教育要聞

支教女教師:在偷電瓶與交白卷的鄉鎮中學,我看見教育最痛的真相

親子要聞

柳葉刀:如何應對全球孕婦死亡的“頭號殺手”?

公開課

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

軍事要聞

美防長在香會大肆渲染中國威脅 中方回應

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 灵川县| 永川市| 武冈市| 潢川县| 南昌市| 荣昌县| 永城市| 许昌县| 托克逊县| 玉溪市| 泰州市| 嵩明县| 隆尧县| 宁夏| 宝山区| 信阳市| 中山市| 寿宁县| 西盟| 琼结县| 营口市| 开封市| 昌图县| 东宁县| 大洼县| 尼勒克县| 南投县| 临汾市| 台中县| 东至县| 鹤庆县| 永胜县| 金秀| 福贡县| 阳江市| 瑞安市| 屏边| 华宁县| 昌邑市| 宁蒗| 万州区|