Excel的三個基本對象:工作簿、工作表、單元格
日常工作中對Excel表格的操作基本會落實到對單元格的操作,那么在VBA中如何定位一個想要操作的單元格,按照這個路徑即可:工作簿.工作表.單元格,類似于中國.廣東省.廣州這樣的關系
1)工作簿的VBA表示。工作簿簡單來講就是Excel這個*.xlsx文件本身。對于工作簿一般操作有三種:
- 當前工作簿:ThisWorkbook
- 新建工作簿:(其中空格加下劃線 _表示VBA中的續(xù)行符,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這個變量,后續(xù)對這個工作簿的使用,直接調(diào)用這個變量即可
2)工作表的VBA表示。工作表就是打開Excel文件后,類似下圖的'測試','Sheet2'等,可以雙擊重新命名。
- 對工作表的引用,前面必須有工作簿的標示,如下圖中的ThisWorkbook表示當前VBA代碼所處的工作簿。
- 可以使用工作表的名稱,如'測試',務必使用英文的引號,或者使用數(shù)字來引用,根據(jù)工作表的位置,如下圖中“測試”工作表位置序號為1,“Sheet2”工作表位置為2,“Sheet3”工作表位置為3
- 實際工作中可能通過鼠標調(diào)整各工作表的位置,所以建議使用直接引用工作表的名稱來調(diào)用工作表,如“測試”,防止出錯
- Set sht1 = ThisWorkbook.Worksheets(3)
- Set sht2 = ThisWorkbook.Worksheets('測試')
3)單元格的VBA表示。單元格表達方式有兩種:Range和Cells,工作表直接可見的行用數(shù)字的1,2,3等表示,列號用A,B等來表示
- Range的使用,直接使用行與列的交點即可,如Range('A1'),也可以Range('A' & 3)這樣使用
- Cells的使用,需要將列號也轉(zhuǎn)換成數(shù)字,如Cells(1, 2),其中2對應的列號就是“B”列,所以也可以這樣使用Cells(1,'B')
Set sht3 = ThisWorkbook.Worksheets('測試')
sht3.Range('A1') = 7
sht3.Cells(1, 2) = 8