Excel VBA的語法就不多說了, 從最重要的Application開始 Application對(duì)象代表Excel程序本身, 對(duì)Application的操作會(huì)直接影響Excel程序 廢話不多說, 直接上代碼 先來介紹一下Application的常用屬性: 1.ActiveCell 當(dāng)前激活的(1個(gè))單元格, 一個(gè)Range對(duì)象, 注意是一個(gè)格子
從完整寫法Application.ActiveWindow.ActiveCell看出, 意思是Excel的當(dāng)前有一個(gè)活動(dòng)的窗口(工作簿), 里面要有一個(gè)表(工作表), 然后要有一個(gè)激活的單元格 獲取到單元格的Range對(duì)象就能對(duì)其進(jìn)行操作了:(語法就不介紹了) 把(1個(gè))格子的內(nèi)容設(shè)置為'哈哈', 加粗,斜體,字號(hào)182. Selection 基本概念和ActiveCell類似, 與之不同的是Selection可以表示多個(gè)單元格, 依然是一個(gè)Range對(duì)象
3.ActiveWorkbook 當(dāng)前激活的一個(gè)工作簿,是一個(gè)Workbook對(duì)象
如果當(dāng)前的Excel是空的, 就是說沒有打開任何一個(gè)Workbook(工作簿) 上面的wb會(huì)是Nothing (VBA里的空) 每個(gè)Workbook對(duì)象都有一個(gè)Application屬性, 貌似(Excel對(duì)象都有這個(gè)屬性), 表示該對(duì)象所屬的Application(這個(gè)Application是對(duì)象)
4.Workbooks, Worksheets, Sheets Application.Workbooks用于獲取當(dāng)前打開的(多個(gè))工作簿 Applicaton.Sheets用于獲取當(dāng)前(激活的)工作簿下的所有工作表, 包括圖表(Chart)
5. Caption 這個(gè)顧名思義, 標(biāo)題, 而且是Application的Caption, 修改一下試試吧 Application.Caption = 'Haha' 注意一點(diǎn), 這個(gè)可是沒有'懶人寫法'的. 如果你想懶一下 Caption = 'Haha' VBA會(huì)把Caption當(dāng)作一個(gè)新變量的 試試下面這個(gè)
標(biāo)題復(fù)原了.OK 6. Range 上面在提到ActiveCell時(shí)說過Range, ActiveCell是一個(gè)Range對(duì)象, 這里的Range是一個(gè)屬性, 但它同時(shí)也是一個(gè)Range對(duì)象, 是不是有點(diǎn)暈. 別擔(dān)心 可以把Application.Range理解為一個(gè)方法(或者函數(shù)), Application.Range需要一個(gè)參數(shù), 來返回參數(shù)指定的(n個(gè))單元格, 看個(gè)例子先: Application.Range('A1').Value = 100 這句話, 把Application(就是Excel) 當(dāng)前激活的Workbook(工作簿)下的激活的Worksheet(工作表)下的Range('A1') (這里就是A1單元格) 的值設(shè)置為數(shù)字100 完整寫法就是: r 是一個(gè)Range對(duì)象, Application.Range('A1')返回一個(gè)Range對(duì)象, 而Application.Range本身是Application的屬性再看看這個(gè): Application.Range('A1:B2').Value = 'Haha' 也許你會(huì)問, 這樣用Range屬性太麻煩了 ,還必須有前面激活的工作簿,工作表, 太不靈活了. 沒錯(cuò), Range屬性不僅僅在Application下, 同樣也存在于Worksheet下, OK, 聰明的你估計(jì)已經(jīng)想到該怎么寫了: 只要獲取到了一個(gè)我想要的Worksheet對(duì)象(工作表), 我就能訪問指定的范圍Range(...) 當(dāng)然,細(xì)心的你也許發(fā)現(xiàn)了:這里沒有說是哪個(gè)Workbook, 沒錯(cuò), 這里的Workbook不是激活的那個(gè)Workbook, 而是你在寫VBA程序的那個(gè)Workbook7. ScreenUpdating 屏幕更新, 用于設(shè)置是否將VBA的執(zhí)行的中間結(jié)果顯示在Excel表中 顯然, 關(guān)閉屏幕更新, 會(huì)使得VBA的執(zhí)行速度更快. 我們可以做個(gè)實(shí)驗(yàn), 比較關(guān)閉前后的用時(shí).
ScreenUpdating Disabled: 0 sec. 8. StatusBar和DisplayStatusBar Application.StatusBar就是Excel的狀態(tài)欄, 而Application.DisplayStatusBar意思是否顯示狀態(tài)欄,一個(gè)Boolean變量
|
|