EXCEL中的宏使用实例

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

下载文档原格式

  / 31
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

相关主题