本示例爲設置工作表密碼
ActiveSheet.Protect Password:=641112 ' 保護工作表並設置密碼
ActiveSheet.Unprotect Password:=641112 '撤銷工作表保護並取消密碼
'本示例保存當前活動工作簿的副本。
ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"
'本示例通過將 Saved 屬性設爲 True 來關閉包含本段代碼的工作簿,並放棄對該
工作簿的任何更改。
ThisWorkbook.Saved = True
ThisWorkbook.Close
'本示例對自動重新計算功能進行設置,使 Microsoft Excel 不對第一張工作表自
動進行重新計算。
Worksheets(1).EnableCalculation = False
'下述過程打開 C 盤上名爲 MyFolder 的文件夾中的 MyBook.xls 工作簿。
Workbooks.Open ("C:\MyFolder\MyBook.xls")
'本示例顯示活動工作簿中工作表 sheet1 上單元格 A1 中的值。
MsgBox Worksheets("Sheet1").Range("A1").Value
本示例顯示活動工作簿中每個工作表的名稱
For Each ws In Worksheets
MsgBox ws.Name
Next ws
本示例向活動工作簿添加新工作表 , 並設置該工作表的名稱?
Set NewSheet = Worksheets.Add
NewSheet.Name = "current Budget"
本示例將新建的工作表移到工作簿的末尾
'Private Sub Workbook_NewSheet(ByVal Sh As Object)
Sh.Move After:=Sheets(Sheets.Count)
End Sub
本示例將新建工作表移到工作簿的末尾
'Private Sub App_WorkbookNewSheet(ByVal Wb As Workbook, _
ByVal Sh As Object)
Sh.Move After:=Wb.Sheets(Wb.Sheets.Count)
End Sub
本示例新建一張工作表,然後在第一列中列出活動工作簿中的所有工作表的名稱。
Set NewSheet = Sheets.Add(Type:=xlWorksheet)
For i = 1 To Sheets.Count
NewSheet.Cells(i, 1).Value = Sheets(i).Name
Next i
本示例將第十行移到窗口的最上面?
Worksheets("Sheet1").Activate
ActiveWindow.ScrollRow = 10
當計算工作簿中的任何工作表時,本示例對第一張工作表的 A1:A100 區域進行排序
。
'Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
With Worksheets(1)
.Range("a1:a100").Sort Key1:=.Range("a1")
End With
End Sub
本示例顯示工作表 Sheet1 的列印預覽。
Worksheets("Sheet1").PrintPreview
本示例保存當前活動工作簿?
ActiveWorkbook.Save
本示例保存所有打開的工作簿,然後關閉 Microsoft Excel。
For Each w In Application.Workbooks
w.Save
Next w
Application.Quit
下例在活動工作簿的第一張工作表前面添加兩張新的工作表?
Worksheets.Add Count:=2, Before:=Sheets(1)
本示例設置 15 秒後運行 my_Procedure 過程,從現在開始計時。
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
本示例設置 my_Procedure 在下午 5 點開始運行。
Application.OnTime TimeValue("17:00:00"), "my_Procedure"
本示例撤銷前一個示例對 OnTime 的設置。
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False
每當工作表重新計算時,本示例就調整 A 列到 F 列的寬度。
'Private Sub Worksheet_Calculate()
Columns("A:F").AutoFit
End Sub
本示例使活動工作簿中的計算僅使用顯示的數字精度。
ActiveWorkbook.PrecisionAsDisplayed = True
本示例將工作表 Sheet1 上的 A1:G37 區域剪下,並放入剪貼板。
Worksheets("Sheet1").Range("A1:G37").Cut
Calculate 方法
計算所有打開的工作簿、工作簿中的一張特定的工作表或者工作表中指定區域的單元
格,如下表所示:
'要計算 '依照本示例
所有打開的工作簿 ' Application.Calculate (或只是 Calculate
)
指定工作表 '計算指定工作表Sheet1 Worksheets
("Sheet1").Calculate
指定區域 'Worksheets(1).Rows(2).Calculate
本示例對自動重新計算功能進行設置,使 Microsoft Excel 不對第一張工作表自動
進行重新計算。
Worksheets(1).EnableCalculation = False
本示例計算 Sheet1 已用區域中 A 列、B 列和 C 列的公式。
Worksheets("Sheet1").UsedRange.Columns("A:C").Calculate
本示例更新當前活動工作簿中的所有鏈接?
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
本示例設置第一張工作表的滾動區域?
Worksheets(1).ScrollArea = "a1:f10"
本示例新建一個工作簿,提示用戶輸入檔案名,然後保存該工作簿。
Set NewBook = Workbooks.Add
Do
fName = Application.GetSaveAsFilename
Loop Until fName False
NewBook.SaveAs Filename:=fName
本示例打開 Analysis.xls 工作簿,然後運行 Auto_Open 宏。
Workbooks.Open "ANALYSIS.XLS"
ActiveWorkbook.RunAutoMacros xlAutoOpen
本示例對活動工作簿運行 Auto_Close 宏,然後關閉該工作簿。
With ActiveWorkbook
.RunAutoMacros xlAutoClose
.Close
End With
在本示例中,Microsoft Excel 向用戶顯示活動工作簿的路徑和檔案名稱。
'Sub UseCanonical()
Display the full path to user.
MsgBox ActiveWorkbook.FullNameURLEncoded
End Sub
本示例顯示當前工作簿的路徑及檔案名(假定尚未保存此工作簿)。
MsgBox ActiveWorkbook.FullName
本示例關閉 Book1.xls,並放棄所有對此工作簿的更改。
Workbooks("BOOK1.XLS").Close SaveChanges:=False
本示例關閉所有打開的工作簿。如果某個打開的工作簿有改變,Microsoft Excel
將顯示詢問是否保存更改的對話框和相應提示。
Workbooks.Close
本示例在列印之前對當前活動工作簿的所有工作表重新計算?
'Private Sub Workbook_BeforePrint(Cancel As Boolean)
For Each wk In Worksheets
wk.Calculate
Next
End Sub
本示例對查詢表一中的第一列數據進行彙總,並在數據區域下方顯示第一列數據的總
和。
Set c1 = Sheets("sheet1").QueryTables(1).ResultRange.Columns(1)
c1.Name = "Column1"
c1.End(xlDown).Offset(2, 0).Formula = "=sum(Column1)"
本示例取消活動工作簿中的所有更改?
ActiveWorkbook.RejectAllChanges
本示例在商業問題中使用規劃求解函數,以使總利潤達到最大值。SolverSave 函數
將當前問題保存到活動工作表上的某一區域。
Worksheets("Sheet1").Activate
SolverReset
SolverOptions Precision:=0.001
SolverOK SetCell:=Range("TotalProfit"), _
MaxMinVal:=1, _
ByChange:=Range("C4:E6")
SolverAdd CellRef:=Range("F4:F6"), _
Relation:=1, _
FormulaText:=100
SolverAdd CellRef:=Range("C4:E6"), _
Relation:=3, _
FormulaText:=0
SolverAdd CellRef:=Range("C4:E6"), _
Relation:=4
SolverSolve UserFinish:=False
SolverSave SaveArea:=Range("A33")
本示例隱藏 Chart1、Chart3 和 Chart5。
Charts(Array("Chart1", "Chart3", "Chart5")).Visible = False
當啟動工作表時,本示例對 A1:A10 區域進行排序。
'Private Sub Worksheet_Activate()
Range("a1:a10").Sort Key1:=Range("a1"), Order:=xlAscending
End Sub
本示例更改 Microsoft Excel 鏈接。
ActiveWorkbook.ChangeLink "c:\excel\book1.xls", _
"c:\excel\book2.xls", xlExcelLinks
本示例啓用受保護的工作表上的自動篩選箭頭?
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect contents:=True, userInterfaceOnly:=True
本示例將活動工作簿設爲只讀?
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
本示例使共用活頁簿每三分鍾自動更新一次?
ActiveWorkbook.AutoUpdateFrequency = 3
下述 Sub 過程清除活動工作簿中 Sheet1 上的所有單元格的內容。
'Sub ClearSheet()
Worksheets("Sheet1").Cells.ClearContents
End Sub
本示例對所有工作簿都關閉滾動條?
Application.DisplayScrollBars = False
如果具有密碼保護的工作簿的檔屬性沒有加密,則本示例設置指定工作簿的密碼加
密選項。
'Sub SetPasswordOptions()
With ActiveWorkbook
If .PasswordEncryptionProvider "Microsoft RSA SChannel
Cryptographic Provider" Then
.SetPasswordEncryptionOptions _
PasswordEncryptionProvider:="Microsoft RSA SChannel
Cryptographic Provider", _
PasswordEncryptionAlgorithm:="RC4", _
PasswordEncryptionKeyLength:=56, _
PasswordEncryptionFileProperties:=True
End If
End With
End Sub
相關閱讀...
Excel VBA 使用函數範例參考之二
Excel VBA 使用函數範例參考之三
Excel VBA 使用函數範例參考之四
Excel VBA 使用函數範例參考之五
Excel VBA 使用函數範例參考之六
沒有留言:
張貼留言