"" Then">

EXCEL中的宏使用实例讲解

  • 格式:doc
  • 大小:118.50 KB
  • 文档页数:31

1、 执行时,增加一个工作表,并且直接命名

Private Sub CommandButton1_Click()

Dim n, nm As String

nm = InputBox("请输入工作表名:")

If nm <> "" Then

n = MsgBox("要插入工作表请单击”确定“,否则请单击”取消“", vbOKCancel, "提示")

If n = vbOK Then

= nm

End If

End If

End Sub

2、 获取工作表最后一行的行号

第一种方法:n = Sheets("历下2010").Range("A65535").End(xlUp).Row:按Al列判断

第二种方法:n = Sheets("历下2010").Cells.SpecialCells(xlCellTypeLastCell).Row

两种方法速度基本一致

3、 删除表中A列数值重复的行

4、 本示例为设置密码窗口 (1)

If Application.InputBox("请输入密码:") = 1234 Then

[A1] = 1 '密码正确时执行

Else: MsgBox "密码错误,即将退出!" '此行与第2行共同设置密码

End If 5、 本示例为设置密码窗口 (1)

X = MsgBox("是否真的要结帐?", vbYesNo)

If X = vbYes Then

Close

6、 本示例为设置工作表密码

ActiveSheet.Protect Password:=641112 ' 保护工作表并设置密码

ActiveSheet.Unprotect Password:=641112 '撤消工作表保护并取消密码

7、 '本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容。

For Each w In Workbooks

If <> Then

w.Close SaveChanges:=True

End If

Next w

'每次打开工作簿时,本示例都最大化 Microsoft Excel 窗口。

Application.WindowState = xlMaximized

8、 '本示例显示活动工作表的名称。

MsgBox "The name of the active sheet is " &

9、 '本示例保存当前活动工作簿的副本。

ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"

'下述过程激活工作簿中的第四张工作表。

Sheets(4).Activate

'下述过程激活工作簿中的第1张工作表。

Worksheets(1).Activate

'本示例通过将 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

Next ws

14、 本示例向活动工作簿添加新工作表 , 并设置该工作表的名称?

Set NewSheet = Worksheets.Add

= "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

Calculate 方法

30、 计算所有打开的工作簿、工作簿中的一张特定的工作表或者工作表中指定区域的单元格,如下表所示: '要计算 '依照本示例

所有打开的工作簿 ' Application.Calculate (或只是 Calculate)

指定工作表 '计算指定工作表Sheet1 Worksheets("Sheet1").Calculate

指定区域 'Worksheets(1).Rows(2).Calculate

31、 本示例对自动重新计算功能进行设置,使 Microsoft Excel 不对第一张工作表自动进行重新计算。

Worksheets(1).EnableCalculation = False

本示例计算 Sheet1 已用区域中 A 列、B 列和 C 列的公式。

Worksheets("Sheet1").UsedRange.Columns("A:C").Calculate

32、 本示例更新当前活动工作簿中的所有链接?

ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources

33、 本示例设置第一张工作表的滚动区域?

Worksheets(1).ScrollArea = "a1:f10"

34、 本示例新建一个工作簿,提示用户输入文件名,然后保存该工作簿。

Set NewBook = Workbooks.Add

Do

fName = Application.GetSaveAsFilename

Loop Until fName <> False

NewBook.SaveAs Filename:=fName

35、 本示例打开 Analysis.xls 工作簿,然后运行 Auto_Open 宏。

Workbooks.Open "ANALYSIS.XLS"

ActiveWorkbook.RunAutoMacros xlAutoOpen

36、 本示例对活动工作簿运行 Auto_Close 宏,然后关闭该工作簿。

With ActiveWorkbook

.RunAutoMacros xlAutoClose

.Close

End With

37、 在本示例中,Microsoft Excel 向用户显示活动工作簿的路径和文件名称。

'Sub UseCanonical()

Display the full path to user.

MsgBox ActiveWorkbook.FullNameURLEncoded

End Sub

38、 本示例显示当前工作簿的路径及文件名(假定尚未保存此工作簿)。

MsgBox ActiveWorkbook.FullName

39、 本示例关闭 Book1.xls,并放弃所有对此工作簿的更改。

Workbooks("BOOK1.XLS").Close SaveChanges:=False

40、 本示例关闭所有打开的工作簿。如果某个打开的工作簿有改变,Microsoft Excel 将显示询问是否保存更改的对话框和相应提示。