Excel VBA入門的基礎語句

2022-03-21 04:34:24 字數 3977 閱讀 9007

選擇當前活動的工作簿:

thisworkbook.activate

如果選擇其他工作簿,注意該工作簿一定是開啟的,並且不要忘記加上字尾「.xls」 ,例如:

windows("totol.xls").activate

選擇乙個工作表:

sheets("balance").activate.

選擇單元格:

range("a1").select

選擇連續的單元格:

range("a1:g8").select

選擇不連續的單元格:

range("a1,b6,d9").select

range("a1,b6:b10,d9").select

單元格間移動:

activecell.offset(13, 14).select

selection.offset(-3, -4).select

range("g8").offset(-3, -4).select

注意:你可以定義一變數,並且用offset來實現,例如:

varfreightrowscount = range("a1").currentregion.rows.count

activecell.offset(varfreightrowscount, 0).select

選擇整個工作表:

cells.select

選擇當前單元格所在的區域(遇到空行/空列即止):

range("a1").currentregion.select

選擇行或列:

rows("1").select

columns("a").select

或者:activecell.entirerow.select

activecell.entirecolumn.select

選擇相鄰的多行/多列:

columns("a:c").select

rows("1:5").select

選擇不相鄰的多行/多列:

注意:和選擇相鄰的多行/多列不同,使用"range"而不是"columns/rows":

range("a:a, c:c, e:f").select

range("1:1,5:6,9:9").select

選擇當前活動單元格向下至最後乙個非空單元格:

range("a1", range("a1").end(xldown)).select

range(activecell, activecell.end(xldown)).select

選擇當前活動單元格向上至第乙個非空單元格:

range("a32", range("a32").end(xlup)).select

range(activecell, activecell.end(xlup)).select

選擇當前活動單元格向右至第乙個非空單元格。

注意:是 "xltoright"而不是 "xlright"

range("a1", range("a1").end(xltoright)).select

range(activecell, activecell.end(xltoleft)).select

選擇當前活動單元格向右至第10個單元格。

range("a2", range("a2").offset(0, 10)).select

range(activecell, activecell.offset(0, 10)).select

選擇當前活動單元格向左至第10個單元格。

range("a20", range("a20").offset(0, -10)).select

range(activecell, activecell.offset(0, -10)).select

選擇當前活動單元格向下至第10個單元格。

range("a2", range("a2").offset(10, 0)).select

range(activecell, activecell.offset(10, 0)).select

選擇當前活動單元格向上至第10個單元格。

range("a1").end(xldown).offset(1, 0).select

選擇該行中第乙個空單元格:

range("a1").end(xltoright).offset(0,1).select

改變區域的大小(由 a1:b5 變為 a1:d10):注意:改區域並不是向外擴張,而是重新定義了。即「selection.resize(10, 4).select而不是selection.resize(5, 2).select excel的巨集不能記錄移至當前行的第乙個單元格的動作(即你按下「home」鍵的動作),下面的語句則可以做到:

activecell.offset(0, -activecell.column + 1).select

移至當前列的第乙個單元格:

activecell.offset( -activecell.row + 1,0).select

關於if..then...endif

如果只有乙個條件及乙個動作,你可以用以下語句:

if selection.value > 10 then

selection.offset(1,0) = 100

end if

或者更簡單的:

if selection.value > 10 then selection.offset(1,0) = 100

如果有兩個條件及兩個動作,你可以用下面的語句

if selection.value > 10 then

if selection.value = 12 then

selection.offset(1,0) = 100

end if

selection.offset(1,0) = 20

end if

關於if..then...and...endif

當有雙重條件和乙個動作時,你可以用下面的語句:

if selection.value = 10 and selection.offset(0,1).value = 20 then

selection.offset(1,0) = 100

end if

關於if..then...or...endif

當有雙重條件和乙個動作時,你可以用下面的語句:

if selection.value = 10 or selection.offset(0,1).value = 20 then

selection.offset(1,0) = 100

end if

關於if..then...else...endif

當只有乙個條件和兩個動作時,你可以用下面的語句:

if selection.value > 10 then

selection.offset(1,0) = 100

else

selection.offset(1,0) = 0

end if

關於if..then..elseif...endif

當有不止乙個條件,且每個條件都跟隨不同的動作時,你可以用下面的語句:

if selection.value = 1 then

selection.offset(1, 0) = 10

elseif selection.value = 2 then

selection.offset(1, 0) = 20

elseif selection.value = 3 then

selection.offset(1, 0) = 30

elseif selection.value = 4 then

selection.offset(1, 0) = 40

elseif selection.value = 5 then

selection.offset(1, 0) = 50

end if

關於select case

當你不得不測試很多條件,你可以用select case 語句來代替if then..elseif 。語法如下:

Excel VBA程式設計 01 入門

在excel種需要開啟 開發工具 和 啟用所有巨集 兩點 開啟開發工具選項 巨集啟用 選單欄才會有開發工具選項 點選visualbasic,編寫第乙個vba程式 右鍵新建乙個模組以編寫程式 第乙個vba程式 sub 第乙個vba程式 dim 姓名 as string 姓名 inputbox 請輸入你...

Excel VBA基礎與應用1

什麼是vba呢?vba是微軟開發的一種,在vb visual basic,一種視覺化開發環境 中用於開發自動化應用程式的語言。在excel中,可以用vba實現自動化,可以極大的提高使用者的工作效率。今天,我們就來學習一下這門語言。對於一門計算機語言來說,最基本的就是它的語法。首先來認識一下vba中的...

Excel VBA(01)基礎語法

sub test endsubfunction test test 123end functionsub hello1 h ha 100 debug.print h call ha 120 ha 130 test1 call test1 endsub function ha via as integ...