VBA常用語句及函數
你是做EXCEL宏?
循環語句
(循環顧名思義就是 重復做某個操作)
For i=1 to 10 (表示循環10次)
next
判斷語句
(當一個條件成立時,如:n=1 成立時,讓程序做某種操作)
if n=1 then
endif
以上是必學的兩個語法
還必須知道變量和變量的賦值
還必須知道數據類型,如字符串,整數型,浮點型等等
如果會以上的東西,絕大多數EXCEL的問題都能解決了。
VBA的函數 有很多,用法類似EXCEL的函數,可找資料了解。
Vba幾種循環語句是怎么寫的
for i=0 to 9
next
--------------
while i0
wend
---------------
do while i0
loop
----------------
do
loop while i0
-------------------
do until i=0
loop
--------------------
do
loop until i=0
----------------------
這名VBA語句是什么意思?本人要用到,望得解-這名VBA語句是什 愛
因為不知道具體用途,只能幫你注釋這些 Private Sub CommandButton2_Click() '按鈕2點擊事件的代碼 Dim zmh2 As Integer '定義zmh2為整型 zmh2 = Sheet1。
Range("B5000")。End(xlUp)。
Row '對zmh2定義 sheet1按照B5000排列 以xlUp結束 Application。ScreenUpdating = False If CommandButton2。
Caption = "隱藏本期無發生額的科目" Then CommandButton2。Caption = "顯示本期無發生額的科目" CommandButton2。
Font。Name = "隸書" CommandButton2。
Font。Italic = True For i = 3 To zmh2 '循環語句,從3到zmh2 If Sheet1。
Cells(i, 5)。Value = 0 And Sheet1。
Cells(i, 7)。 Value = 0 Then '第5第7列為0時 Sheet1。
Cells(i, 5)。Select '返回5 Selection。
EntireRow。Hidden = True 'Selection。
EntireRow的Hidden屬性為true(隱藏不顯示) End If Next i Else CommandButton2。Caption = "隱藏本期無發生額的科目" CommandButton2。
Font。Name = "宋體" CommandButton2。
Font。Italic = False Sheet1。
Rows("3:1000")。Hidden = False ' Sheet1。
Rows的3-1000行屬性為隱藏不顯示 End If Cells(3, 2)。Select '反回第二列第3行 Application。
ScreenUpdating = True End Sub。
vba語句是什么
Visual Basic for Applications(VBA)是Visual Basic的一種宏語言,是微軟開發出來在其桌面應用程序中執行通用的自動化(OLE)任務的編程語言。
主要能用來擴展Windows的應用程序功能,特別是Microsoft Office軟件。也可說是一種應用程式視覺化的Basic 腳本。
該語言于1993年由微軟公司開發的的應用程序共享一種通用的自動化語言--------Visual Basic For Application(VBA),實際上VBA是寄生于VB應用程序的版本。微軟在1994年發行的Excel5.0版本中,即具備了VBA的宏功能。
VBA入門的基礎語句選擇當前活動的工作簿:*te如果選擇其他工作簿,注意該工作簿一定是打開的,并且不要忘記加上后綴“.xls” ,例如:Windows("*").Activate選擇一個工作表:Sheets("Balance").Activate.選擇單元格:Range("A1").Select選擇連續的單元格:Range("A1:G8").Select選擇不連續的單元格:Range("A1,B6,D9").SelectRange("A1,B6:B10,D9").Select單元格間移動:*(13, 14).*(-3, -4).SelectRange("G8").Offset(-3, -4).Select注意:你可以定義一變量,并且用offset來實現,例如:varFreightRowsCount = Range("A1").*(varFreightRowsCount, 0).Select選擇整個工作表:*選擇當前單元格所在的區域(遇到空行/空列即止):Range("A1").*選擇行或列:Rows("1").SelectColumns("A").Select或者:*選擇相鄰的多行/多列:Columns("A:C").SelectRows("1:5").Select選擇不相鄰的多行/多列(注意:和選擇相鄰的多行/多列不同,使用"Range"而不是"Columns/Rows":)Range("A:A, C:C, E:F").SelectRange("1:1,5:6,9:9").Select選擇當前活動單元格向下至最后一個非空單元格:Range("A1", Range("A1").End(xlDown)).SelectRange(ActiveCell, *(xlDown)).Select選擇當前活動單元格向上至第一個非空單元格:Range("A32", Range("A32").End(xlUp)).SelectRange(ActiveCell, *(xlUp)).Select選擇當前活動單元格向右至第一個非空單元格。(注意:是 "xlTORight"而不是 "xlRight" )Range("A1", Range("A1").End(xltoRight)).SelectRange(ActiveCell, *(xltoLeft)).Select選擇當前活動單元格向右至第10個單元格。
Range("A2", Range("A2").Offset(0, 10)).SelectRange(ActiveCell, *(0, 10)).Select選擇當前活動單元格向左至第10個單元格。Range("A20", Range("A20").Offset(0, -10)).SelectRange(ActiveCell, *(0, -10)).Select選擇當前活動單元格向下至第10個單元格。
Range("a2", Range("a2").Offset(10, 0)).SelectRange(ActiveCell, *(10, 0)).Select選擇當前活動單元格向上至第10個單元格。Range("A1").End(xlDown).Offset(1, 0).Select選擇該行中第一個空單元格:Range("A1").End(xltoRight).Offset(0,1).Select改變區域的大小(由 A1:B5 變為 A1:D10):(注意:改區域并不是向外擴張,而是重新定義了。
即 "*(10, 4).Select "而不是"*(5, 2).Select "Excel的宏不能記錄移至當前行的第一個單元格的動作(即你按下“Home”鍵的動作),下面的語句則可以做到:*(0, -* + 1).Select移至當前列的第一個單元格:*( -* + 1,0).Select如果只有一個條件及一個動作,你可以用以下語句:If * > 10 *(1,0) = 100End If或者更簡單的:If * > 10 Then *(1,0) = 100如果有兩個條件及兩個動作,你可以用下面的語句:If * > 10 ThenIf * = 12 *(1,0) = 100End *(1,0) = 20End If當有雙重條件(并存的條件)和一個動作時,你可以用下面的語句:If * = 10 And *(0,1).Value = 20 *(1,0) = 100End If當有雙重條件(可選擇的條件)和一個動作時,你可以用下面的語句:If * = 10 Or *(0,1).Value = 20 *(1,0) = 100End If當只有一個條件和兩個動作時,你可以用下面的語句:If * > 10 *(1,0) = *(1,0) = 0End If當有不止一個條件,且每個條件都跟隨不同的動作時,你可以用下面的語句:If * = 1 *(1, 0) = 10ElseIf * = 2 *(1, 0) = 20ElseIf * = 3 *(1, 0) = 30ElseIf * = 4 *(1, 0) = 40ElseIf * = 5 *(1, 0) = 50End If當你不得不測試很多條件,你可以用Select Case 語句來代替If Then..ElseIf 。語法如下:Sub test()Select Case *ase Is >= *(0, 1) = "A"Case Is >= 75。
excel中if語句用vba怎么寫
1. 函數中的if語句=if(條件,符合條件結果,不符合條件結果)。
2. VBA中也有一個同樣的函數,為了跟函數的if區分,vba中的名稱為iif,使用方法與函數完全一致,iif(條件,符合條件結果,不符合條件結果)。
3. VBA中另外一種if表達方式更為常用,格式為
if 條件 then 執行結果或者
if 條件 then
結果一
結果二
else if 條件
結果
end if4. VBA中的if語句常用來與for..next循環搭配使用,亦可用do while。Loop語句代替。
excel vba 有多少語句,分別是什么意思
VBA與VB一樣,Visual Basic 語句(75條)
AppActivate語句
Beep語句
Call語句
ChDir語句
ChDrive語句
Close語句
Const語句
Date語句
Declare語句
Deftype語句
DeleteSetting語句
Dim語句
Do。Loop語句
End語句
Enum語句
Erase語句
Error語句
Event語句
Exit語句
FileCopy語句
ForEach。Next語句
For。Next語句
Function語句
Get語句
GoSub。Return語句
GoTo語句
If。Then。Else語句
Implements語句
Input#語句
Kill語句
Let語句
LineInput#語句
Lock,Unlock語句
LSet語句
Mid語句
MkDir語句
Name語句
OnError語句
On。GoSub、On。GoTo語句
Open語句
OptionBase語句
OptionCompare語句
OptionExplicit語句
OptionPrivate語句
Print#語句
Private語句
PropertyGet語句
PropertyLet語句
PropertySet語句
Public語句
Put語句
RaiseEvent語句
Randomize語句
ReDim語句
Rem語句
Reset語句
Resume語句
RmDir語句
RSet語句
SaveSetting語句
Seek語句
SelectCase語句
SendKeys語句
Set語句
SetAttr語句
Static語句
Stop語句
Sub語句
Time語句
Type語句
While。Wend語句
Width#語句
With語句
Write#語句
VBA簡單語句
刪除行的操作,我講過很多次了,得倒循環來處理,否則會有很多行被忽略了(因為沒有循環到),你修改成如下代碼即可(僅以判斷A列是否為空,不為空時刪除該行)
Sub delet()
Dim x As Integer
For x = 3000 to 4 step -1'這樣倒循環
If Cells(x, 1) "" Then rows(x).Delete
Next
End Sub
如果你要判斷整行都為空時,才刪除,代碼再修改一下
Sub delet()
Dim x As Integer
For x = 3000 to 4 step -1'這樣倒循環
If *(rows(x))>0 Then rows(x).Delete
Next
End Sub
因為你要刪除的比較多行,會閃,可以用如下代碼,就不閃了
Sub delet()
Dim x As Integer
*Updating = False '禁止刷新
For x = 3000 To 4 Step -1 '這樣倒循環
If *(Rows(x)) > 0 Then Rows(x).Delete
Next
*Updating = True '恢復刷新
End Sub
判斷的條件如果只是A列,把*(rows(x))>0改為cells(x,1)""