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的下面这个方法可以很方便的打开各种文件。
参数FileFilter指定任意的字符串描述想要打开的类型,比如“excel文件”。然后指定类型。可以用通配符。
<例子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"