標籤:col 顏色 中間 依賴 -- 儲存 替換 poi 控制
詳解VBA編程是什麼由 vietdung90 建立,最後一次修改 2016-10-19
直到 90 年代早期,使應用程式自動化還是充滿挑戰性的領域.對每個需要自動化的應用程式,人們不得不學習一種不同的自動化語言.例如:可以用EXCEL的宏語言來使EXCEL自動化,使用WORD BASIC使WORD自動化,等等.微軟決定讓它開發出來的應用程式共用一種通用的自動化語言--------Visual Basic For Application(VBA),可以認為 VBA 是非常流行的應用程式開發語言VASUAL BASIC 的子集.實際上VBA是"寄生於"VB應用程式的版本.VBA和VB的區別包括如下幾個方面:
1. VB是設計用於建立標準的應用程式,而VBA是使已有的應用程式(EXCEL等)自動化
2. VB具有自己的開發環境,而VBA必須寄生於已有的應用程式.
3. 要運行 VB 開發的應用程式,使用者不必安裝 VB,因為 VB 開發出的應用程式是可執行檔(*.EXE),而VBA開發的程式必須依賴於它的"父"應用程式,例如EXCEL.
儘管存在這些不同,VBA和VB在結構上仍然十分相似.事實上,如果你已經瞭解了VB,會發現學習VBA非常快.相應的,學完VBA會給學習VB打下堅實的基礎.而且,當學會在EXCEL中用VBA建立解決方案後,即已具備在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA建立解決方
案的大部分知識.
* VBA一個關鍵特徵是你所學的知識在微軟的一些產品中可以相互轉化.
* VBA可以稱作EXCEL的"遙控器".
VBA 究竟是什麼?更確切地講,它是一種自動化語言,它可以使常用的程式自動化,可以建立自訂的解決方案.
此外,如果你願意,還可以將EXCEL用做開發平台實現應用程式.
EXCEL環境中基於應用程式自動化的優點也許你想知道VBA可以幹什麼?
使用VBA可以實現的功能包括:
1. 使重複的任務自動化.
2. 自訂EXCEL工具列,菜單和介面.
3. 簡化模板的使用.
4. 自訂EXCEL,使其成為開發平台.
5. 建立報表.
6. 對資料進行複雜的操作和分析.
用EXCEL作為開發平台有如下原因:
1. EXCEL本身功能強大,包括列印,檔案處理,格式化和文本編輯.
2. EXCEL內建大量函數.
3. EXCEL介面熟悉.
4. 可串連到多種資料庫.
用其他語言開發應用程式,一半的工作是編寫一些準系統的模組,包括檔案的開啟和儲存,列印,複製等.而用EXCEL作為開發平台,則由於EXCEL已經具備這些準系統,你要做的只是使用它.
錄製簡單的宏在介紹學習VBA之前,應該花幾分鐘錄製一個宏。
新術語:"宏",指一系列EXCEL能夠執行的VBA語句。
以下將要錄製的宏非常簡單,只是改變儲存格顏色。請完成如下步驟:
1、開啟新活頁簿,確認其他活頁簿已經關閉。
2、選擇A1儲存格。調出"常用"工具列。
3、選擇"工具"-"宏"-"錄製新宏"。
4、輸入"改變顏色"作為宏名替換預設宏名,單擊確定,注意,此時狀態列中顯示"錄製",特別是"停止錄製"工具列也顯示出來。替換預設宏名主要是便於分別這些宏。
★ 宏名最多可為255個字元,並且必須以字母開始。其中可用的字元包括:字母、數字和底線。宏名中不允許出現空格。通常用底線代表空格。
5、選擇"格式"的"儲存格",選擇"圖案"選項中的紅色,單擊"確定"。
6、單擊"停止錄製"工具列按鈕,結束宏錄製過程。
※ 如果"停止錄製"工具列開始並未出現,請選擇"工具"-"宏"-"停止錄製"。
錄製完一個宏後就可以執行它了。
執行宏當執行一個宏時,EXCEL 按照宏語句執行的情況就像 VBA 代碼在對 EXCEL 進行"遙控"。但VBA 的"遙控"不僅能使操作變得簡便,還能使你獲得一些使用 EXCEL 標準命令所無法實現的功能。而且,一旦熟悉了 EXCEL 的"遙控",你都會奇怪自己在沒有這些"遙控"的情況下,到底是怎麼熬過來的。要執行剛才錄製的宏,可以按以下步驟進行:
1、選擇任何一個儲存格,比如A3。
2、選擇"工具"-"宏"-"宏",顯示"宏"對話方塊。
3、選擇"改變顏色",選擇"執行",則 A3 儲存格的顏色變為紅色。試著選擇其它儲存格和幾個儲存格組成的地區,然後再執行宏,以便加深印象。
查看錄製的代碼到底是什麼在控制EXCEL的運行呢?你可能有些疑惑.好,讓我們看看VBA的語句吧.
1、選擇"工具"-"宏"-"宏",顯示"宏"對話方塊。
2、單擊列表中的"改變顏色",選擇"編輯"按鈕。
此時,會開啟 VBA 的編輯器視窗(VBE)。關於該編輯器,以後再詳細說明,先將注意力集中到顯示的代碼上。代碼如下:(日期和姓名會有不同)
Sub 改變顏色()
‘
‘ 改變顏色 Macro
‘ xw 記錄的宏 2000-6-10
‘
‘
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub
將來會十分熟悉這種代碼,雖然現在它們看上去像一種奇怪的外語。學習 VBA 或程式設計語言在某
種程度上比較像在學習一種外語。
Sub 改變顏色():這是宏的名稱。
中間的以" ‘"開頭的五行稱為"注釋",它在錄製宏時自動產生。
以With 開頭到End With 結束的結構是With結構語句,這段語句是宏的主要部分。注意單詞"selection",它代表"反白的地區"(即:選定地區)。With Selection.Interior :它讀作"選擇地區的的內部".這整段語句設定該地區內部的一些"屬性"。
其中:
.ColorIndex = 3: 將該內部設為紅色。注意:有一小圓點,它的作用在於簡化語句,小圓點代替出現在With後的詞,它是With結構的一部分。另外:紅色被數字化為3.(紅色警戒是否可稱作:3號警戒,嗯?)有興趣的話,你將3改為其他數字試試看。
.Pattern = xlSolid:設定該地區的內部圖案。由於是錄製宏,所以,雖然你並未設定這一項,
宏仍然將其記錄下來(因為在"圖案"選項中有此一項,只是你未曾設定而已)。xlSolid 表示純
色。
.PatternColorIndex = xlAutomatic:表示內部圖案底紋顏色為自動配色。
End With:結束With 語句。
End Sub:整個宏的結束
編輯錄製的代碼在上一節,我們錄製了一個宏並查看了代碼,代碼中有兩句實際上並不起作用。哪兩句?
現在,在宏中作一個修改,刪除多餘行,直到和下面代碼相同:
Sub 改變顏色()
‘
‘ 改變顏色 Macro
‘ xw 記錄的宏 2000-6-10
‘
‘
With Selection.Interior
.ColorIndex = 3
End With
End Sub
完成後,在工作表中實驗一下。你會發現結果和修改前的狀況一樣。在 With 語句前加入一行:
Range("A5").Select
試著運行該宏,則無論開始選擇哪個儲存格,宏運行結果都是使A5儲存格變紅.
現在可以看到,編輯錄製的宏同樣非常簡單。需要編輯宏是因為以下三個方面的原因。
一:在錄製中出錯而不得不修改。
二:錄製的宏中有多餘的語句需要刪除,提高宏的運行速度。
三:希望增加宏的功能。比如:加入判斷或迴圈等無法錄製的語句。
錄製宏的局限性希望自動化的許多 EXCEL 過程大多都可以用錄製宏來完成.但是宏記錄器存在以下局限性.
通過宏記錄器無法完成的工作有:
1、錄製的宏無判斷或迴圈能力.
2、人機互動能力差,即使用者無法進行輸入,電腦無法給出提示.
3、無法顯示EXCEL對話方塊.
4、無法顯示自訂表單.
小結本章節中,你已經掌握了 VBA 的一些基礎知識,你會錄製宏、編輯宏而且瞭解了錄製宏的局限性,並且已經為將來學習VBA甚至VB等程式設計語言打下了基礎.關鍵是你已經瞭解了一個謎底,就是說,你瞭解了什麼是編程.下面是些小練習。
【轉】VBA編程入門(二)