You are on page 1of 4

Sub InputTest()

Cells.ClearContents
Range("A1:A10").Value=100
End Sub
============================================
Sub testtest()
Dim sht As Worksheet
For Each sht In Worksheets
If sht.Name <> ActiveSheet.Name Then
sht.Delete
End If
Next sht
End Sub
===========================================
關閉 worksheet 會出現一堆警告訊息使 VBA 中斷
4-2-1 設定 ScreenUpdating 關閉螢幕更新
Sub InputTest()
Application.ScreenUpdating = False
Application.ScreenUpdating = True
4-2-2 設定 DisplayAlerts 禁止顯示警告
Sub testtest()
Application.DisplayAlerts = False
Dim sht As Worksheet
For Each sht In Worksheets
If sht.Name <> ActiveSheet.Name Then
sht.Delete
End If
Next sht
Application.DisplayAlerts = True
End Sub
4-2-3 用 WorksheetFunction 的函數
Sub CountTest()
Dim mycount As Integer, rng As Range
For Each rng In Range("A1:B50")
If rng.Value > 1000 Then
mycount = mycount + 1
End If
Next
End Sub
或可用 WorksheetFunction 的功能,如下
Sub CountTest()
Dim mycount As Integer, rng As Range
mycount = Application.WorksheetFunction.CountIf(Range("A1:B50"), ">1000")
End Sub

4-2-5 Application 物件的子物件


Workbook, worksheet, range 都是 application 的子物件
最完整的寫法:Application.Workbooks("Book1").Worksheets("sheet1").Range ("A1")
但 Application.Selection.Value=300 跟 Selection.Value=300 都一樣

4-2-6 Application 物件的常用屬性


----------------------------------------------------------------------------------
ActiveCell 當前作用儲存格
ActiveChart 當前使用中的活動圖表
ActiveSheet 當前使用中的工作表
ActiveWindow 當前使用中的視窗
ActiveWorkbook 當前使用中的活頁簿
Charts 當前使用中的活頁簿所有的圖表工作表
selection 當前使用中的活頁簿中所有選中的物件
Sheets 當前使用中的活頁簿所有 Sheet 物件
Worksheets 當前使用中的活頁簿中所有 Worksheet 物件
Workbooks 當前所有打開的活頁簿
-----------------------------------------------------------------------------------
4-3 管理活頁簿,了解 Workbook 物件
4-3-1 Workbook 是集合中的一個成員
方法一:用索引值
Workbooks(1)
方法二:用活頁簿名稱
Workbooks(“Book1.xlsm”)
4-3-2 透過程式碼獲得指定活頁簿的資訊
Range("B2") = ThisWorkbook.Name//名稱.xlsm
Range("B3") = ThisWorkbook.Path //D:\我的文件
Range("B4") = ThisWorkbook.FullName //D:\我的文件\活頁簿 1.xlsm
//ThisWorkBook 是程式碼所在的活頁簿物件

4-3-3 用 Add 新增活頁簿


1. 建立空白活頁簿
Workbooks.Add
2. 新增一個以現有的檔案作為範本的新活頁簿
Workbooks.Add "D:\我的文件\test.xlsm"

1
4-3-4 用 Open 方法打開活頁簿
Workbooks.Open Filename:="D:\我的文件\test.xlsm"
Workbooks.Open "D:\我的文件\test.xlsm"
//兩種做法結果一樣

4-3-5 用 Activate 方法啟動活頁簿


把眾多開啟的活頁簿,設定其中一個是活動中
Workbooks("活頁簿 1").Activate
//這裡是用活頁簿的名稱來引用,也可以用其他方式

4-3-6 用 Save 跟 SaveAs 來保存檔案


ThisWorkbook.save
1. 另存新檔
ThisWorkbooks.SaveAs Filename:="D:\我的文件\test.xlsm"
如果省略後面路徑則文件會保存在目前的資料夾

2. 另存新文件後不關閉原檔案
Workbooks.SaveCopyAs Filename:="D:\我的文件\test.xlsm" //另存新檔

4-3-7 用 Close 跟 Close savechange 關閉活頁簿


Workbooks.Close //Workbooks 這句代表所有打開的活頁簿,所以整句代表關閉所有打開的活頁
簿
Workbooks("Test1").Close //關閉特定活頁簿
但這種作法會讓 Excel 跳出對話方塊
可以用 Workbooks("Book1").Close savechanges:=True
也可以用 Workbooks.Close True

4-3-8 ThisWorkbook 跟 ActiveWorkbook


ThisWorkbook 跟 ActiveWorkbook 都是 Application 物件的屬性
但 ThisWorkbook 是對程式碼所在活頁簿的引用,ActiveWorkbook 是對使用中的活頁簿的引用

Workbooks.Add
MsgBox "程式碼所在的活頁簿:" & ThisWorkbook.Name
MsgBox "當前使用中的活頁簿:" & ActiveWorkbook.Name
ActiveWorkbook.Close savechange:=False
4-3-9 Worksheets.count

4-3-10 Worksheet.Columns()
選擇一整欄的範圍

2
3

You might also like