基本介紹
- 中文名:宏編碼
- 外文名:macrocoding
- 領域:計算機編碼
- 學科:計算機科學
- 作用:實現批量批處理
- 別稱:宏
簡介
宏語言
#define標誌符[(參數表)]字元串
常用EXCEL編碼舉例
If Application.InputBox("請輸入密碼:") = 1234 Then
[A1] = 1 '密碼正確時執行
Else: MsgBox "密碼錯誤,即將退出!" '此行與第2行共同設定密碼
End If
2.本示例為設定工作表密碼
ActiveSheet.Protect Password:=641112 ' 保護工作表並設定密碼
ActiveSheet.Unprotect Password:=641112 '撤消工作表保護並取消密碼
3.本示例關閉除正在運行本示例的工作簿以外的其他所有工作簿,並保存其更改內容
For Each w In Workbooks
If w.Name <> ThisWorkbook.Name Then
w.Close SaveChanges:=True
End If
Next w
4.每次打開工作簿時,本示例都最大化 Microsoft Excel 視窗
Application.WindowState = xlMaximized
5.本示例顯示活動工作表的名稱
MsgBox "The name of the active sheet is " & ActiveSheet.Name
6.本示例保存當前活動工作簿的副本
ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"
7.下述過程激活工作簿中的第四張工作表
Sheets(4).Activate
8.下述過程激活工作簿中的第1張工作表
Worksheets(1).Activate
9.本示例通過將 Saved 屬性設為 True 來關閉包含本段代碼的工作簿,並放棄對該工作簿的任何更改
ThisWorkbook.Saved = True
ThisWorkbook.Close
10.本示例對自動重新計算功能進行設定,使 Microsoft Excel 不對第一張工作表自動進行重新計算
Worksheets(1).EnableCalculation = False
11.下述過程打開 C 盤上名為 MyFolder 的資料夾中的 MyBook.xls 工作簿
Workbooks.Open ("C:\MyFolder\MyBook.xls")
12.本示例顯示活動工作簿中工作表 sheet1 上單元格 A1 中的值
MsgBox Worksheets("Sheet1").Range("A1").Value
13.本示例顯示活動工作簿中每個工作表的名稱
For Each ws In Worksheets
MsgBox ws.Name
Next ws
14.本示例向活動工作簿添加新工作表 , 並設定該工作表的名稱
Set NewSheet = Worksheets.Add
NewSheet.Name = "current Budget"
15.本示例將新建的工作表移到工作簿的末尾
'Private Sub Workbook_NewSheet(ByVal Sh As Object)
Sh.Move After:=Sheets(Sheets.Count)
End Sub
16.本示例將新建工作表移到工作簿的末尾
'Private Sub App_WorkbookNewSheet(ByVal Wb As Workbook, _
ByVal Sh As Object)
Sh.Move After:=Wb.Sheets(Wb.Sheets.Count)
End Sub
17.本示例新建一張工作表,然後在第一列中列出活動工作簿中的所有工作表的名稱
Set NewSheet = Sheets.Add(Type:=xlWorksheet)
For i = 1 To Sheets.Count
NewSheet.Cells(i, 1).Value = Sheets(i).Name
Next i
18.本示例將第十行移到視窗的最上面
Worksheets("Sheet1").Activate
ActiveWindow.ScrollRow = 10
19.當計算工作簿中的任何工作表時,本示例對第一張工作表的 A1:A100 區域進行排序
'Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
With Worksheets(1)
.Range("a1:a100").Sort Key1:=.Range("a1")
End With
End Sub
20.本示例顯示工作表 Sheet1 的列印預覽
Worksheets("Sheet1").PrintPreview
21.本示例保存當前活動工作簿
ActiveWorkbook.Save
22.本示例保存所有打開的工作簿,然後關閉 Microsoft Excel
For Each w In Application.Workbooks
w.Save
Next w
Application.Quit
23.下例在活動工作簿的第一張工作表前面添加兩張新的工作表
Worksheets.Add Count:=2, Before:=Sheets(1)
24.本示例設定 15 秒後運行 my_Procedure 過程,從現在開始計時
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
25.本示例設定 my_Procedure 在下午 5 點開始運行
Application.OnTime TimeValue("17:00:00"), "my_Procedure"
26.本示例撤消前一個示例對 OnTime 的設定
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False
27.每當工作表重新計算時,本示例就調整 A 列到 F 列的寬度
'Private Sub Worksheet_Calculate()
Columns("A:F").AutoFit
End Sub
28.本示例使活動工作簿中的計算僅使用顯示的數字精度
ActiveWorkbook.PrecisionAsDisplayed = True
29.本示例將工作表 Sheet1 上的 A1:G37 區域剪下,並放入剪貼簿
Worksheets("Sheet1").Range("A1:G37").Cut
更多詳見參考。
Word中的代碼編寫行號
Sub HangHao()Dim parag As ParagraphDim nLineNum: nLineNum = 0Dim selRge As RangeSet selRge = Selection.RangeFor Each parag In Selection.ParagraphsnLineNum = nLineNum + 1selRge.Paragraphs(nLineNum).Range.InsertBefore (Format$(nLineNum, "00") & " ")NextEnd Sub