Download presentation
Presentation is loading. Please wait.
1
第20章 VBA
2
What is VBA? Visual Basic for Application (VBA)
設計一個Excel本身沒有內建的函數或副程式,開發巨集,或是設計成自動化資訊系統,如會計資訊系統等等。 語法基礎同 Visual Basic 有些功能被拿掉,Ex: 轉成執行檔、製作ActiveX元件
3
What is VBA? (cont’d) 巨集 Sub 函數或程序名稱( ) Dim x as ….. Dim y as …..
..... x=……. y=……. End Sub 巨集
4
巨集實例 Sub UseFunction() Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range(“B3:E18") answer = Application.WorksheetFunction.Min(myRange) MsgBox answer End Sub
5
VBA編輯環境 ”工具/巨集/Visual Basic編輯器”或按Alt+F11。
6
VBA編輯環境 (cont’d) 選取專案名稱 (Ex: VB Project),按右鍵,設定此專案的屬性,可設定密碼。
7
Function or Subroutine
執行 ”插入/程序”。
8
執行巨集 “Alt+F8”,開啟巨集交談窗,選取一個巨集名稱來執行。
9
Function or Subroutine 實例
Public Function sumX(x As Integer) As Integer Dim i As Integer Dim temp As Integer temp = 0 For i = 1 To x temp = temp + i Next i sumX = temp End Function 在模組內新增~~~
10
Function or Subroutine 實例
選取任一儲存格,按一般工具列上的”插入函數”鈕,在”插入函數”交談窗中,選取類別為「使用者定義」類別。
11
VBA基本結構 Excel中常見的物件有按鈕、儲存格範圍、工作表等等,在程式中為了使用方便,將同型態的物件集合在一起,稱為物件集,其關鍵字為英文的複數型態,如Workbooks, Worksheets 例如想在 test.xls 的sheet1工作表中的B1儲存格放入數值8,可以這樣寫: Workbooks(“test.xls”).Worksheets(“sheet1”).Range(“B1”).Value=8 Application Workbook Worksheet Range
12
VBA基本結構 (cont’d) 在一般工具列上按瀏覽物件,可看到所有的物件類型。
13
VBA基本結構 (cont’d) 按右鍵,執行快顯功能表中的”說明”。
14
重要物件-Range Range(arg) 傳回代表單個儲存格或多個儲存格的 Range 物件,其中 arg 為範圍名稱。
Worksheets("Sheet1").Range(“B1").Value =Worksheets("Sheet1").Range("A6").Value Worksheets(1).Range(“C3:D4”).ClearContents 常用方法: ClearContents, Merge, UnMerge, Copy, PasteSpecial 常用屬性: Value, Formula, Count, Row, Column
15
重要物件-Cells 可用 Cells(row, column) 傳回單個儲存格,其中 row 為列索引,column 為欄索引。
Worksheets(1).Cells(1, 1).Value = 24 ActiveSheet.Cells(2, 1).Formula = "=Sum(B1:B5)“
16
VBA基本結構-事件 活頁簿或工作表上的常用事件如下。
17
使用表單 執行”插入/自訂表單”
18
使用表單 (cont’d) Private Sub Workbook_Open() End Sub Load UserForm1
每次開啟此活頁簿檔案時就自動執行此表單 Private Sub Workbook_Open() Load UserForm1 UserForm1.Show End Sub
19
References Excel VBA 功能索引式參考手冊
Similar presentations