VBA常用語句及函數
你是做EXCEL宏?
循環語句
(循環顧名思義就是 重復做某個操作)
For i=1 to 10 (表示循環10次)
next
判斷語句
(當一個條件成立時,如:n=1 成立時,讓程序做某種操作)
if n=1 then
endif
以上是必學的兩個語法
還必須知道變量和變量的賦值
還必須知道數據類型,如字符串,整數型,浮點型等等
如果會以上的東西,絕大多數EXCEL的問題都能解決了。
VBA的函數 有很多,用法類似EXCEL的函數,可找資料了解。
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。
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
----------------------
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 語句
VBA的代碼如下: Function UpdateCellsColor() Dim counter As Integer For counter = 1 To 1024 With ActiveSheet Select Case (Cells(counter, 3).Value) Case "open" Cells(counter, 2).* = vbRed Cells(counter, 3).* = vbRed Cells(counter, 4).* = vbRed Cells(counter, 5).* = vbRed Case "closed" Cells(counter, 2).* = vbGreen Cells(counter, 3).* = vbGreen Cells(counter, 4).* = vbGreen Cells(counter, 5).* = vbGreen Case Else Cells(counter, 2).* = vbWhite Cells(counter, 3).* = vbWhite Cells(counter, 4).* = vbWhite Cells(counter, 5).* = vbWhite End Select End With Next counterEnd Function Private Sub Worksheet_SelectionChange(ByVal Target As Range) UpdateCellsColorEnd Sub Private Sub Worksheet_Activate() UpdateCellsColor End Sub 建議,還是使用Excel的“條件格式”功能解決,相當簡單: 。
VBA流程控制語句有哪些
以上回答都很全面了 我做點小補充
VBA程序流程控制:順序控制,選擇控制,循環控制。
VBA就是VB for Application的意思,說到底,在程序語言上看,VBA是VB的一個子集,主要用了VB的過程控制語句部分,但VBA是與微軟的應用軟件,如Office集成在一起的,它可以操作Office的對象,如Word中的文檔、段落、字符,Excel的單元、工作表、工作薄等。所以VBA又結合了應用對象模型。
學好VBA主要要有兩個基礎:
1、懂一點VB的流程控制語句,有一些編程的經驗
2、比較完整地了解微軟的應用對象模型
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語句代替。