Excel的三个基本对象:工作簿、工作表、单元格 日常工作中对Excel表格的操作基本会落实到对单元格的操作,那么在VBA中如何定位一个想要操作的单元格,按照这个路径即可:工作簿.工作表.单元格,类似于中国.广东省.广州这样的关系 1)工作簿的VBA表示。工作簿简单来讲就是Excel这个*.xlsx文件本身。对于工作簿一般操作有三种: - 当前工作簿:ThisWorkbook
- 新建工作簿:(其中空格加下划线 _表示VBA中的续行符,dirpath2为新建工作簿的绝对地址,如dirpath2 = 'G:\【10】微信\【3】文章\【3-1】VBA与Excel\test1.xlsx')
- Workbooks.Add
ActiveWorkbook.SaveAs _ Filename:=dirpath2, _ FileFormat :=xlOpenXMLWorkbook, _ CreateBackup:=False Set wb = ActiveWorkbook - 打开已有工作簿
- Set wb = Workbooks.Open(dirpath1)
- 其中set wb= 表示将新打开或者新建的工作簿赋给wb这个变量,后续对这个工作簿的使用,直接调用这个变量即可
2)工作表的VBA表示。工作表就是打开Excel文件后,类似下图的'测试','Sheet2'等,可以双击重新命名。 - 对工作表的引用,前面必须有工作簿的标示,如下图中的ThisWorkbook表示当前VBA代码所处的工作簿。
- 可以使用工作表的名称,如'测试',务必使用英文的引号,或者使用数字来引用,根据工作表的位置,如下图中“测试”工作表位置序号为1,“Sheet2”工作表位置为2,“Sheet3”工作表位置为3
- 实际工作中可能通过鼠标调整各工作表的位置,所以建议使用直接引用工作表的名称来调用工作表,如“测试”,防止出错
- Set sht1 = ThisWorkbook.Worksheets(3)
- Set sht2 = ThisWorkbook.Worksheets('测试')
3)单元格的VBA表示。单元格表达方式有两种:Range和Cells,工作表直接可见的行用数字的1,2,3等表示,列号用A,B等来表示 - Range的使用,直接使用行与列的交点即可,如Range('A1'),也可以Range('A' & 3)这样使用
- Cells的使用,需要将列号也转换成数字,如Cells(1, 2),其中2对应的列号就是“B”列,所以也可以这样使用Cells(1,'B')
Set sht3 = ThisWorkbook.Worksheets('测试') sht3.Range('A1') = 7 sht3.Cells(1, 2) = 8
|