如果世間真有這麼一種狀態:心靈十分充實和寧靜,既不懷戀過去也不奢望將來,放任光陰的流逝而僅僅掌握現在,無匱乏之感也無享受之感,不快樂也不憂愁,既無所求也無所懼,而只感受到自己的存在,處於這種狀態的人就可以說自己得到了幸福。
《VBA之Excel應用》是非常經典的,是我推出的第七套教程,定位於初級。這套教程從簡單的錄製宏開始講解,一直到窗體的搭建,內容豐富,實例眾多。大家可以非常容易的掌握相關的知識,這套教程共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。今日講解的內容是“VBA之EXCEL應用”的第十五章“ActiveX控件(ActiveX Controls)”的第5節:列表框(List Box)控件常用的方法及事件。

第五節 列表框(List Box)之二
大家好,我們繼續列表框的講解。在上一講中我們講解了列表框控件如何添加到工作表及列表框各個屬性,這一講我們講解列表框控件的常用方法。
1 Listbox控件常用方法
1) Clear 方法:從Listbox控件中刪去所有的項。
2) RemoveItem方法:從列表框或組合框的列表中刪去一行。語法為:Listbox1.RemoveItem index,index指定要刪除的行,第一行的行號為 0,第二行的行號為 1,依此類推。
3)AddItem 方法:對於單列的列表框,在列表中添加一項。對於多列的列表框或組合框,在列表中添加一整行。用法為:Listbox1.AddItem [ item [, varIndex]]
其中Item(可選)指定要添加的項或行的內容。第一個項或行的編號為 0;第二個項或行的編號為 1,依此類推。varIndex(可選)指定新的項或行在對象中的位置。如果提供一個有效的 varIndex 的值,AddItem 方法就把項或行放在列表中的那個位置。如果忽略 varIndex,此方法就把項或行添加在列表的末尾。varIndex 的值不能大於 ListCount 屬性的值。
對於多列列表框,AddItem 方法插入一個完整的行,為了給第一列後面的項賦值,可用 List 或 Column 屬性來完成。
2 Listbox控件常用事件
1)KeyDown 和 KeyUp 事件
按下和釋放某鍵時這兩個事件依次發生。按下鍵時發生 KeyDown 事件,而釋放鍵時發生 KeyUp 事件。
語法:
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Private Sub ListBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
2)KeyPress 事件 當用戶按下一個 ANSI 鍵時該事件發生。
語法:
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
其中KeyANSI 必需。整數值,代表標準的數字 ANSI 鍵代碼。
3)Click 事件:用鼠標單擊控件發生此事件
語法:Private Sub ListBox1_Click()
4)DblClick 事件當用戶指向一個對象並雙擊鼠標時,發生 DblClick 事件。
語法:Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
以上各個事件可以在VBE窗口中查找到,如下截圖:

3 Listbox控件的簡單應用
我們打開一個工作表的私有模塊,錄入下面的代碼:
Private Sub Worksheet_Activate()
With Sheet4.ListBox1
.AddItem “第一套”
.AddItem “第二套”
.AddItem “第三套”
End With
End Sub
代碼截圖:

同時我們把工作表中ListBox1屬性做如下設置:

將linkedcell屬性關聯上”D3“單元格,表明此時的列表框關聯的是D4單元格。
現將焦點轉移到其他工作表,再次回到sheet4工作表,我們看一看效果(注意屬性的設置修改一定要在“設計模式”下進行,測試及實際運行代碼的時候要退出“設計模式”):


今日內容迴向:
1) 列表框有哪些方法和事件?
2) 如何將列表框控件關聯到單元格?

本講內容參考程序文件:工作簿15.xlsm
分享成果,隨喜正能量
- VBA的學習教程(初級、中級、高級):
VBA是利用Office實現個人小型辦公自動化的有效手段(工具)。這是我對VBA的應用界定。在取代OFFICE新的辦公軟件沒有到來之前,誰能在數據處理方面做到極致,誰就是王者。其中登峰至極的技能非VBA莫屬!我記得20年前自己初學VBA時,那時的資料甚少,只能看源碼自己琢磨,真的很難。20年過去了,為了不讓學習VBA的朋友重複我之前的經歷,我根據自己多年VBA實際利用經驗,推出了八部VBA專門教程,學習順序七、一(或者四)、三、二、六、五;或者七、八。其中七,一(或者四)是初級;三,二,八是中級;六,五是高級:
第一套:VBA代碼解決方案 是VBA中各個知識點的講解,教程共147講,覆蓋絕大多數的VBA知識點,提供的程序文件更是一座不可多得的代碼寶庫,是初學及中級人員必備教程;目前這套教程提供的版本是修訂第二版,程序文件通過32位和64位兩種OFFICE系統測試。
第二套:VBA數據庫解決方案 數據庫是數據處理的專業利器,教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,適合中級人員的學習。目前這套教程提供的是修訂第一版教程,程序文件通過32位和64位兩種OFFICE系統測試。
第三套:VBA數組與字典解決方案 數組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學習,是初級及中級人員代碼精進的手段。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統測試。
第四套:VBA代碼解決方案之視頻 是專門面向初學者的視頻講解,可以快速入門,更快的掌握這門技能。這套教程是第一套教程(修訂一版)的視頻講解,視頻更易接受。
第五套:VBA中類的解讀和利用 這是一部高級教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細的學習可以促進自己VBA理論的提高。這套教程的領會主要是讀者的領悟了,領悟一種佛學的哲理。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統測試。
第六套教程:VBA信息獲取與處理,這是一部高級教程,涉及範圍更廣,實用性更強,面向中高級人員。教程共二十個專題,包括:跨應用程序信息獲得、隨機信息的利用、電子郵件的發送、VBA互聯網數據抓取、VBA延時操作,剪切板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定製工作表信息函數等等內容。程序文件通過32位和64位兩種OFFICE系統測試。
第七套教程:VBA之EXCEL應用 這是一部初級教程這部教程共三冊,從從創建宏、對話框、工作簿和工作表對象、單元格對象等基礎內容講起,到循環結構、錯誤處理、字符串操作、日期和時間、事件、數組應用,函數過程等方面,一直講解到控件和窗體對象的應用都是我們提高自己EXCEL水平的必須。
第八套教程:VBA之WORD應用 是圍繞“面向對象編程”展開的講解,讓大家充分認識Word中VBA的對象,以及對象的屬性、方法及利用。教程共分三冊,十六章,其中前十五章是各種對象屬性、方法的講解,每節都有專門的實例說明這些屬性方法的具體應用,最後一章是結和具體應用場景的講解,詳細講解了二十八個實際工作中有代表性的實例,緊扣word數據的批量處理,發揮VBA的長處。本套教程實例眾多,大家可以拿來即用,或者修正後加以利用。由於這套教程是圍繞“面向對象編程”來展開,建議大家先學《VBA之Excel應用》,對VBA中的對象、屬性、方法、事件有一定認識後再來學習這套教程。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/250092.html