VBA自动化编程技巧全套.docxVIP

  • 7
  • 0
  • 约1.52千字
  • 约 4页
  • 2023-11-02 发布于未知
  • 举报
VBA自动化编程技巧全套 1. 选中最下,最上,最左,最右的单元格 Range对象的end()方法可以传递以下几个常量,分别实现底端上下左右的选择。 常量 値 内容 对应键盘操作 xlUp -4162 上方向移動 [Ctrl] + [↑] xlDown -4121 下方向移動 [Ctrl] + [↓] xlToLeft -4159 左方向移動 [Ctrl] + [←] xlToRight -4161 右方法移動 [Ctrl] + [→] 例子1 Sub Sample1() 从A1选择最下面的单元格 Range(A1).End(xlDown).Select End Sub 例子1 虽然可行,但有些情况却不太方便。比如以下两种情况。那就需要用到例子2中的写法。 ? A1到A列最后一行中有空格。 ? A列为空。 ________________________________________ 例子2 Sub Sample2() ----A列最終行向上找的第一行 Cells(Rows.Count, 1).End(xlUp).Select End Sub 这样写就比较安全了。 2. 打开文件操作 Application的下面这个方法可以很方便的打开各种文件。 ? GetOpenFilename( FileFilter, FilterIndex, Title, ButtonText, MultiSelect) 参数FileFilter指定任意的字符串描述想要打开的类型,比如“excel文件”。然后指定类型。可以用通配符。 ? 关于用户取消操作实际操作中会弹出一个对话框让你选文件,如果什么文件都不选就关闭对话框,这时的返回值为False。 例子3 Dim OpenFileName As String OpenFileName = Application.GetOpenFilename(excel文件,*.xls?;*.xlsx) 用户取消了操作 If (OpenFileName = False) Then End End If Workbooks.Open OpenFileName 3. 取消画面渲染 如果做的处理比较耗时,可以取消画面渲染加快处理速度。 Application.ScreenUpdating = False // 做一些比较耗时的处理?Application.ScreenUpdating = True 4. 单元格相对位置 Range.Offset(行方向, 列方向)来获取相对位置。正数代表往下,往右。所以下面的例子是B2左边一列,也就是A2。 Range(B2).Offset(0, -1) 5. 声明变量同时赋值 普通声明一个变量就是Dim xx as xx。同时赋值要再写一遍变量名。。。不得不说真的很麻烦。 Dim S_ROW As Integer: S_ROW = Range(A1) 6. 不显示确认对话框 做一些删除之类的操作,如果程序里不自动屏蔽对话框的话,自动化就无从谈起了。以下是个简单的例子。 Application.DisplayAlerts = False Worksheets(sheet1).Delete Application.DisplayAlerts = True 7. 保存工作簿 Workbook.SaveAs方法。设置Filename参数即可。 Dim book1 As Workbook book1.SaveAs Filename:=ThisWorkbook.Path \AutoSheet.xlsx

文档评论(0)

1亿VIP精品文档

相关文档