VIP標(biāo)識 上網(wǎng)做生意,首選VIP會(huì)員| 設(shè)為首頁| 加入桌面| | 手機(jī)版| RSS訂閱
食品伙伴網(wǎng)服務(wù)號
 
當(dāng)前位置: 首頁 » 食品專題 » 辦公軟件-excel使用技巧 » 正文

第四課理解變量和變量的作用(1)

放大字體  縮小字體 發(fā)布日期:2006-06-16
4.1 代碼存在的位置:模塊

  VBA代碼必須存放在某個(gè)位置,這個(gè)地方就是模塊。有兩種基本類型的模塊:標(biāo)準(zhǔn)模塊和類模塊。模塊中的每個(gè)過程或者是函數(shù)過程,或者是子程序概念.本課的最后部分將討論函數(shù)過程和子程序的區(qū)別。

  新術(shù)語:
  模塊:它是作為一個(gè)單元保存在一起的VBA定義和過程的集合。
  類模塊:VBA允許你創(chuàng)建自己的對象,對象的定義包含在類模塊中。

  你的大部分工作集中在標(biāo)準(zhǔn)模塊中(簡稱為模塊)當(dāng)錄制宏時(shí)如果不存在模塊,EXCEL自動(dòng)創(chuàng)建一個(gè)。EXCEL和VBA不關(guān)心代碼存放在哪一個(gè)模塊中,只要代碼存在于打開的工作簿中即可。

  4.2 對模塊的概覽

  過程被定義為VBA代碼的一個(gè)單元,過程中包括一系列用于執(zhí)行某個(gè)任務(wù)或是進(jìn)行某種計(jì)算的語句。工作簿的每個(gè)過程都有唯一的名字加以區(qū)分。

  有兩種不同的過程:子程序和函數(shù)過程。子程序只執(zhí)行一個(gè)或多個(gè)操作,而不返回?cái)?shù)值。當(dāng)錄制完宏查看代碼時(shí),所看到的就是子程序。宏只能錄制子程序,而不能錄制函數(shù)過程。一個(gè)子程序的例子如清單4-1所示。

程序清單4-1 子程序的例子

Sub cmdSmallFont_Click()
With Selection.Font
.Name="Arial"
.FontStyle="Regular"
.Size=16
End With
End sub

  上面列出的過程實(shí)際上是一個(gè)事件過程。通過它的名字,就可以知道這是一個(gè)事件過程。這個(gè)過程的名字是由一個(gè)對象的名字CmdSmallFont和一個(gè)事件的名字Click組成的,兩者之間用下劃線分開。如果還不明白,可以告訴你,CmdSmallFont是一個(gè)命令按鈕的名字。也就是說,當(dāng)單擊這個(gè)命令按鈕時(shí),就會(huì)運(yùn)行這個(gè)事件過程。

  函數(shù)過程通常情況下稱為函數(shù),要返回一個(gè)數(shù)值。這個(gè)數(shù)值通常是計(jì)算的結(jié)果或是測試的結(jié)果,例如False 或True.正如前面所說,可以用VBA創(chuàng)建自定義函數(shù)。實(shí)際上可以在工作表上使用你創(chuàng)建的函數(shù)。程序清單4-2是一個(gè)計(jì)算價(jià)格的10%為運(yùn)費(fèi)的簡單例子。

程序清單4-2 簡單的用戶定義函數(shù)示例。

Public Function Shipping(Price)
Shipping = Price * 0.1
End Function

  請注意,這個(gè)函數(shù)使用一個(gè)參數(shù)(Price).子程序和函數(shù)都可以使用參數(shù)。不論P(yáng)rice的值是多少,它都將決定運(yùn)費(fèi)額。Price可以是數(shù)字和單元格引用。函數(shù)返回計(jì)算出來的運(yùn)費(fèi),這個(gè)函數(shù)可以用在單元格中。

A B 
1 Price 100
2 Shipping =shipping(B1)


  4.2.1 創(chuàng)建過程

  創(chuàng)建第一個(gè)過程需要兩個(gè)基本步驟。首先,需要向工作簿中添加一個(gè)模塊。接著需要向模塊中添加一個(gè)工程。對于創(chuàng)建的每一個(gè)應(yīng)用程序,只需添加一次模塊?梢允褂枚鄠(gè)模塊,但這是不必要的。某些開發(fā)者喜歡使用多個(gè)模塊,以便根據(jù)他們的目的或者窗體對過程進(jìn)行組織。在本練習(xí)中,創(chuàng)建的過程只顯示一個(gè)消息框。

  在本練習(xí)中創(chuàng)建的過程只顯示一個(gè)消息框。在本練習(xí)中使用Msgbox是為了提供一個(gè)可見的例子,雖然我們還沒有介紹過Msgbox語句,但是在本例中將使用它。要?jiǎng)?chuàng)建該過程,請按如下步驟進(jìn)行:

  1)打開一個(gè)新工作簿。
  2)選擇"工具"-"宏"-"Visual Basic編輯器",打開VBA編輯器窗口。
  3)在`VBA編輯器的左面,可以看到“工程資源管理器”窗口。在工程資源管理器窗口的“Thisworkbook"上單擊鼠標(biāo)右鍵,選擇“插入”-“模塊”,這樣就將一個(gè)模塊添加到應(yīng)用程序中了。(如果你沒有看見“工程資源管理器”窗口,可以按Ctrl+R)
  4)選擇“插入”“過程”,顯示“添加過程”對話框。
  5)輸入“第一個(gè)工程”作為過程名字。在“類型”分組框中,確認(rèn)選擇了“子程序”。單擊“確定”按鈕。這樣一個(gè)新的過程就添加到模塊中了。可以在模塊中看到以 Public Sub 第一個(gè)過程()開始,以End Sub結(jié)束的語句結(jié)構(gòu)。
  6)在過程中插入光標(biāo),輸入以下語句并回車:
Msgbox "這是我的第一個(gè)過程"
在輸入Msgbox后,會(huì)自動(dòng)彈出一個(gè)消息框告訴你有關(guān)這條命令的信息,稱之為自動(dòng)列表技術(shù)。輸入完成的過程如下所示:
Public Sub 第一個(gè)過程()
Msgbox "這是我的第一個(gè)過程"
End Sub

  VBA對子程序和函數(shù)有如下的命名規(guī)則:
  * 名字中可以包含字母數(shù)字和下劃線。
  * 名字中不能包含空格句號驚嘆號,也不能包含字符@ & $ #.
  * 名字最多可以包含255個(gè)字符。
 
  4.2.2 運(yùn)行宏

  創(chuàng)建這個(gè)過程后,可以運(yùn)行一下。運(yùn)行一個(gè)過程有幾種方法:可以直接使用“運(yùn)行”菜單,“運(yùn)行子程序/用戶窗體”工具欄按鈕或按下F5鍵。要運(yùn)行一個(gè)過程,可以按照如下步驟:

  1)單擊“運(yùn)行子程序/用戶窗體”工具欄按鈕,過程執(zhí)行并顯示一個(gè)消息框。
  2)單擊消息框之中的“確定”按鈕,關(guān)閉該消息框。

  4.3 保存對模塊所做的改變

  要保存新過程,需要保存過程所駐留的工作簿.可以用VBA編輯器保存工作簿.具體步驟如下:

  1)選擇"文件"-"保存工作簿".因?yàn)楸竟ぷ鞑具沒有保存過,所以要給它命名.
  2)輸入"HOUR4"作為文件名并按回車鍵,則工作簿和模塊與過程都保存下來了.

 
[ 網(wǎng)刊訂閱 ]  [ 食品專題搜索 ]  [ ]  [ 告訴好友 ]  [ 打印本文 ]  [ 關(guān)閉窗口 ] [ 返回頂部 ]

 

 
推薦圖文
推薦食品專題
點(diǎn)擊排行
 
 
Processed in 0.472 second(s), 745 queries, Memory 2.55 M