VBA 在 Excel 中的常用操作
It has been 1219 days since the last update, the content of the article may be outdated.
文件操作
引用打开的工作簿
使用索引号(从 1 开始)
vbnet
1 | Workbooks(1) |
使用工作簿名称
vbnet
1 | Workbooks("1.xlsx") |
创建一个 EXCEL 工作簿对象
vbnet
1 | Dim wd As Excel.Application |
打开/保存/关闭工作簿
vbnet
1 | Dim wb As Workbook |
关闭所有工作簿
vbnet
1 | Workbooks.close |
另存为(自动打开新文件关闭源文件)
vbnet
1 | ThisWorkbook.SaveAs FileName:="D:\1.xls" |
另存为(保留源文件不打开新文件)
vbnet
1 | ThisWorkbook.SaveCopyAs FileName:="D:\1.xls" |
拷贝文件
vbnet
1 | oldfile = ThisWorkBook.Path & "/old.xlsx" |
删除文件夹下的所有文件
Code
1 | base = ThisWorkBook.Path & "/文件夹/" |
创建文件夹
vbnet
1 | MkDir(directory) |
判断文件夹是否存在
以下为不存在即创建
vbnet
1 | If Dir(outputDir, 16) = Empty Then |
判断文件是否存在
方法 1:
vbnet
1 | Dim fileSystemObject As Object |
方法 2:
Code
1 | Dim file As String |
格式操作
设置边框与自动筛选
vbnet
1 | Set Rng = MyWorkSheet.UsedRange |
获取或者设置单元格背景色
vbnet
1 | MyWorkSheet.Cells(i, j).Interior.ColorIndex |
让某表格选中的单元格变成指定颜色
在 thisworkbook 中添加如下代码段:
vbnet
1 | Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) |
在单元格里回车 / 换行
设置单元格 Value 里使用 Chr(10)
和 Chr(13)
,分别表示回车、换行。
隐藏行
vbnet
1 | MyWorkSheet.Rows(i).Hidden = True |
单元格内容为纯文本
vbnet
1 | sheet.Cells(m, n).NumberFormatLocal = "@" |
选择
引用单元格 / 区域
vbnet
1 | Range("A1") '表示 A1 单元格 |
选中单元格 / 区域
vbnet
1 | Range("1:1").Select '选中第一行 |
获取当前选中区域
vbnet
1 | MyWorkSheet.Application.Selection |
数据结构
Dictionary
vbnet
1 | Dim dict |
语言基础
String to Integer、Double
vbnet
1 | CInt(MyWorkSheet.Cells(1,7)) |
字符串分割/获取数组长度
vbnet
1 | Dim arr() As String |
判断单元格是否为空
判断单元格的 value 是否为 “”。
退出
主要使用 Exit 表达式。
Code
1 | Exit { Do | For | Function | Property | Select | Sub | Try | While } |
参见 Exit Statement (Visual Basic)
参考
评论
TwikooValine