Excel VBA入門(便可)
以前就有了解過WPS Office的宏功能,而且mark了一下,昨天偶然百度到了門路,這裏把一些過程簡單總結一下,分享給你們。編程
1.vba簡介 設計模式
Visual Basic for Applications(VBA)是Visual Basic的一種宏語言,是微軟開發出來在其桌面應用程序中執行通用的自動化(OLE)任務的編程語言。主要能用來擴展Windows的應用程式功能,特別是Microsoft Office軟件。也可說是一種應用程式視覺化的Basic腳本。該語言於1993年由微軟公司開發的的應用程序共享一種通用的自動化語言——–Visual Basic For Application(VBA),實際上VBA是寄生於VB應用程序的版本。數組
2.所需軟件:markdown
-
WPS Office (10.1.0.7224)編程語言
也就是目前2018年4月14日安裝的最新版本,由此能夠看出,和wps版本無關~函數
-
vba提取自WPS2012專業加強版
下載地址網上不少,貼出來我在百度雲盤保存的
連接:https://pan.baidu.com/s/1HuBHlDmBfYH3zpvNo9c8yg 密碼:xr8j工具
進階技能:VB語言
VBA中有對象、方法、屬性。理解這些是學習VBA的基礎。
一、對象:工做簿、工做表、單元格、行、列等
二、屬性:相應對象的屬性。如工做表名稱、單元格的行高等屬性通常理解爲對象擁有的靜態特性。
三、方法:對相應對象所執行的動做稱爲對象的方法。如單元格移動、單元格刪除內容等。
3.安裝配置學習
- 安裝vba,雙擊vba6chs傻瓜安裝便可
4.簡單入門操做開發工具
- 教程:
Excel VBA 2013視頻教程(此連接被noblogs牆)
我沒看,感受確定比較老,若是須要深刻研究去圖書館找本書好了0.0 -
簡單使用spa
- 建立一個宏
- MsgBox
- 工做簿和工做表對象
- Range對象
- 變量
- IF Then語句
- 循環
- 宏錯誤
- 字符串操做
- 日期和時間
- 事件
- 數組
- 函數和子函數
- 應用對象
- ActiveX控件
- 用戶窗體
1. 建立宏
首先注意:保存的文件格式是Microsoft Office Excel 2007 啓用宏的工做簿 (.xlsm),不然將出現如下提示
點擊否,再選擇正確的xlsm格式保存便可(下圖中選中的格式)
而後是建立的過程(舉個栗子)
新建一個Macro_test_01.xlsm
點擊宏快捷鍵(Alt+F8)建立一個宏,賦個名字,點擊「建立」按鈕
工程界面,初始頭已經給出
咱們加了一句
Range("A1").Value = "Hello,Macro!"
意思是給單元格A1賦值爲」Hello,Macro!」
點擊上面的運行快捷鍵(F5),返回excel工做簿界面看效果,這樣就完成了咱們第一個macro的建立,以後知道怎麼開始了,針對問題到網上搜代碼案例理解修改就行了,估計不會到學習語法和函數的地步0.0,若是到這個學習地步的話,我用冰點下載了百度一個文檔,收藏在了百度雲盤裏VBA語法筆記-來自百度
連接:https://pan.baidu.com/s/1WZi8Hzwqfm9dTV22VUvSXA 密碼:yhdq
實際上,直接搜索VB語言相關的代碼就能夠獲得更多信息
2. Msgbox
MsgBox是Visual Basic和VBS中的一個函數,功能是彈出一個對話框,等待用戶單擊按鈕,並返回一個Integer值表示用戶單擊了哪個按鈕。
「MsgBox」即爲「Message Box」的縮寫,在英語中意爲「信箱」。
『例1』單擊按鈕彈出對話框刪除全部內容
step1:建立命令按鈕,開發工具->命令按鈕,在工做表合適位置拉出按鈕
step2:雙擊按鈕出現工程界面,輸入代碼以下:
Dim answer As Integer answer = MsgBox("要清空工做表麼?", vbYesNo + vbQuestion, "清空工做表") If answer = vbYes Then Cells.ClearContents Else 'do nothing End If
運行便可看到效果,在工做表中隨便輸入隨機數據,單擊按鈕便可實現清除工做表的效果
step3:拓展
看到下拉框裏面的內容否?能夠將動做設置成這些,根據命名就能夠看出做用;另外,須要作其餘效果搜一下Msgbox,看看相關函數就能模仿出其餘效果。
『例2』單擊彈出輸入框向A1輸入一個數據
Dim myValue As Variant
myValue = InputBox("輸個啥?", "InputBox函數", 1) Range("A1").Value = myValue
step1:建立按鈕,輸入代碼,運行調試
step2:退出設計模式,單擊命令按鈕2實現效果
step3:拓展
第一句,聲明Variant類型的變量myValue,在這裏使用Variant類型的變量,由於Variant變量能夠保存任何類型的值。這樣用戶能夠輸入文字,數字等。
第二句,InputBox函數具備更多可選參數。提示+標題+具備默認值的輸入框。若是沒有提供其餘輸入,將使用默認值。
3.工做簿和工做表對象
4. Range對象
5. 變量
6. IF Then語句
7. 循環
Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer Cells(1, 2).Value = Cells(1, 1).Value uniqueNumbers = 1 toAdd = True For i = 2 To 10 For j = 1 To uniqueNumbers If Cells(i, 1).Value = Cells(j, 2).Value Then toAdd = False End If Next j If toAdd = True Then Cells(uniqueNumbers + 1, 2).Value = Cells(i, 1).Value uniqueNumbers = uniqueNumbers + 1 End If toAdd = True Next i
8. 宏錯誤
9. 字符串操做
10. 日期和時間
11. 事件
12. 數組
13. 函數和子函數
14. 應用對象
15. ActiveX控件
- 複選框
If CheckBox1.Value = True Then Range("B4").Value = 1 If CheckBox1.Value = False Then Range("B6").Value = 0
- 文本框
添加倆按鈕,一個向文本框錄入
TextBox1.Text = "數據錄入成功!"
一個清除文本框信息
TextBox1.Value = ""
- 列表框
將列表框連接到單元格A5,設計模式右鍵單擊列表框->屬性->LinkedCell填A5
設計模式->右鍵單擊列表框->查看代碼->Project->ThisWorkbook->左下拉Workbook右Open,填寫下列代碼對列表框進行添加
With Sheet1.ListBox1 .AddItem "Turkey" .AddItem "Tokyo" .AddItem "Paris" End With
清除(我把清除都放在了cls按鈕裏,方便)
ListBox1.Clear
效果
- 組合框
操做和列表框基本相同 - 選項按鈕
實驗到這裏,已經很簡單了,不過多解釋
If OptionButton1.Value = True Then Range("A3").Value = 233
If OptionButton2.Value = True Then Range("A6").Value = 666
- 數值調節按鈕
Range("A5").Value = SpinButton1.Value
屬性設置
效果
16. 用戶窗體
//未完待續