目錄
- 1 取得VBA對象
- 1.1 取得工作簿對象
- 1.2 取得工作表對象
- 1.3 取得單元格對象
- 1.4 取得對象的屬性
- 1.5 文檔的方法1
進入vba 界面
方式之一:
快捷鍵:ALTER+F11
運行方式之一:
進入vba界面,點擊綠色三角符號
1 取得VBA對象
1.1 取得工作簿對象
Sub Test()'把當前工作簿的名稱賦值給單元格A1'testvba.xlsm 只能是當前工作簿的名稱[a1] = Workbooks("testvba.xlsm").Name'把活動工作簿的名稱賦值給單元格A2[a2] = ActiveWorkbook.Name'把當前工作簿的名稱賦值給單元格A3[a3] = ThisWorkbook.Name
End Sub
下面是執行結果
1.2 取得工作表對象
默認sheet名稱是Sheet1
新建一個sheet,名稱是Sheet2
新建一個sheet,并改名稱為:testsheet
新建一個sheet,刪除掉
新建一個sheet,并改名稱為:abc
最終得到下圖的結果
'取得上面4個工作表的名稱
Sub Test()'方式1[a1] = Sheet1.Name[a2] = Sheet2.Name[a3] = Sheet3.Name[a4] = Sheet5.Name'方式2[b1] = Sheets(1).Name[b2] = Sheets(2).Name[b3] = Sheets(3).Name[b4] = Sheets(4).Name'方式3[c1] = Sheets("Sheet1").Name[c2] = Sheets("Sheet2").Name[c3] = Sheets("testsheet").Name[c4] = Sheets("abc").Name'方式4 活動工作表的名稱[a5] = ActiveSheet.Name
End Sub
下面是執行結果
1.3 取得單元格對象
'取得單元格對象
Sub Test()'方式1 單元格A1,賦值文字“方式1”[a1] = "方式1"'方式2 3是第3行,1是第1列 單元格A3,賦值文字“方式2”Cells(3, 1) = "方式2"'方式3 當前選擇的單元格,賦值文字“方式3”ActiveCell = "方式3"'方式4 單元格A2,賦值文字“方式4”Range("a2") = "方式4"'方式5 選中Excel的D列Range("d:d").Select'方式5-1 選中第10行'Range("10:10").Select'方式6 選中一個區域e2:g5,填充顏色紅色Range("e2:g5").Interior.ColorIndex = 3
End Sub
選擇c14單元格,然后執行代碼,下面是執行結果
1.4 取得對象的屬性
'取得對象的屬性
Sub Test()'取得所有sheet的數量[a1] = Sheets.Count'取得第一個sheet的名稱[a2] = Sheets(1).Name'取得當前選中的單元格的地址[a3] = ActiveCell.Address'取得本excel的文檔路徑[a4] = ThisWorkbook.Path'取得A1單元格的值[a5] = Range("a1").Value'選擇當前excel的第3個sheet的a1:b10區域,填充顏色為50的顏色'ThisWorkbook.Sheets(3).Range("a1:b10").Interior.ColorIndex = 50
End Sub
選擇單元格A1后,執行代碼,下面是執行結果
1.5 文檔的方法1
01 新建工作簿
Sub Test()
'新建工作簿
Workbooks.Add
'Workbooks.Add.Name = "test.xlsx" 可以修改新工作簿的名稱
'新工作簿的第一個sheet的名稱修改為add
ActiveWorkbook.Sheets(1).Name = "add"
'新工作簿的第一個sheet的單元格a3的值修改為abc
ActiveWorkbook.Sheets(1).Cells(3, 1) = "abc"
'添加一個sheet
ActiveWorkbook.Sheets.Add
'新sheet修改名稱為add2
ActiveWorkbook.ActiveSheet.Name = "add2"
'第一個sheet作為活動sheet
ActiveWorkbook.Sheets("add").Activate
'關閉新工作簿
ActiveWorkbook.Close
End Sub
執行結果:
02 打開工作簿
Sub Test()
'打開一個工作簿
Workbooks.Open ("D:\Jerry\Documents\工作簿4.xlsx")
'關閉這個打開的工作簿
ActiveWorkbook.Close
End Sub
執行時一閃而過,因為文檔被打開后,立馬又被關閉了。如果F8,逐行代碼運行,則可以看到工作簿被打開。