excel vba select case語句的使用方法
不明白你說的,但你可以仿照下面的語法自己寫Case語句的語法如下:Select Case 測試表達式Case Is 條件1如果條件1為真時執行的語句Case Is 條件2如果條件2為真時執行的語句Case Is 條件N如果條件N為真時執行的語句End Select例如,我們來比較幾個數字:Select Case myNumberCase Is <10MsgBox "The number is less than 10"Case 11MsgBox "You entered eleven."Case Is >=100MsgBox "The number is greater than or equal to 100."Case ElseMsgBox "The number is between 12 and 99."End Select假設變量myNumber為120,那么第三個Case子句為真,并且只有Case Is >=100和Case Else之間的語句會被執行。
vba中case語句中,表達式如果需要用函數處理怎么辦
你對select case 語句理解有問題 吧, 給你上excel 助里面的例子你看下你就懂了
Select Case 語句示例
本示例使用 Select Case 語句來判斷變量的值。示例中第二個 Case
子句包含了變量值,故只有此區塊內的語句會被完成到。
Dim Number
Number = 8 ' 設置變量初值。
Select Case Number ' 判斷 Number 的值。
Case 1 To 5 ' Number 的值在 1 到 5 之間,包含1 和 5 。
* "Between 1 and 5"
' 下一個 Case 子句是本示例中唯一判斷值為 True 的子句。
Case 6, 7, 8 ' Number 的值在 6 到 8 之間。
* "Between 6 and 8"
Case 9 到 10 ' Number 的值為 9 或 10。
* "Greater than 8"
Case Else ' 其他數值。
* "Not between 1 and 10"
End Select
VBA中CASE語句可以同時選擇多個變量一起判斷嗎
新可以的, 我給你發下這個的具體用法你看下就明白了
本示例使用 Select Case 語句來判斷變量的值。示例中第二個 Case
子句包含了變量值,故只有此區塊內的語句會被完成到。
Dim Number
Number = 8 ' 設置變量初值。
Select Case Number ' 判斷 Number 的值。
Case 1 To 5 ' Number 的值在 1 到 5 之間,包含1 和 5 。
* "Between 1 and 5"
' 下一個 Case 子句是本示例中唯一判斷值為 True 的子句。
Case 6, 7, 8 ' Number 的值在 6 到 8 之間。
* "Between 6 and 8"
Case 9 到 10 ' Number 的值為 9 或 10。
* "Greater than 8"
Case Else ' 其他數值。
* "Not between 1 and 10"
End Select
vba 中 select 一個case 有多種條件
Select Case語句也是條件語句之一,而且是功能最強大的條件語句。
它主要用于多條件判斷,而且其條件設置靈活、方便,在工作中使用頻率極高。本節介紹Select Case語句的語法及應用案例.Select Case語句的語法如下:Select Case testexpression[Case expressionlist-n[statements-n]] 。
[Case Else[elsestatements]]End SelectSelect Case語句包括四部分,每部分詳細含義如表38-1所示。表38-1 Select Case語句各部分含義testexpression 必要參數。
任何數值表達式或字符串表達式expressionlist-n 如果有 Case 出現,則為必要參數。其形式為 expression,expression To expression,Is comparisonoperator。
expression的一個或多個組成的分界列表。To關鍵字可用來指定一個數值范圍。
如果使用 To 關鍵字,則較小的數值要出現在To 之前。使用 Is 關鍵字時,則可以配合比較運算符(除 Is 和 Like 之外)來指定一個數值范圍。
如果沒有提供,則 Is 關鍵字會被自動插入statements-n 可選參數。一條或多條語句,當testexpression匹配expressionlist-n中的任何部分時執行elsestatements 可選參數。
一條或多條語句,當testexpression不匹配Case子句的任何部分時執行在以上語法列表中,省略號代表可以使用多個條件。只要有一個Case就需要有一個statements-n,表示條件及符合條件時的執行條件。
其中elsestatements表示不符合指定條件時的執行語句,是可選參數。可以忽略elsestatements,也可以執行一條或者一組語句,為了讓程序能夠處理一些不可預見的情況,盡量使用elsestatements語句處理不符合條件時該如何回應。
在Select Case的多個參數中,最復雜的是expressionlist-n部分,它有多種表達形式,包括:lExpression——直接聲明一個條件值,例如5lexpression To expression——聲明一個條件的范圍,例如5-10lIs comparisonoperator——聲明一種比較方式,例如is >5下面的實例可以展示參數中expressionlist-n部分的多種表達形式。實例1:多條件時間判斷根據當前的時間判斷是上午、中午,還是下午、晚上、午夜。
要求中條件比較多,使IF…Then…需要多層嵌套,而Select Case語句會更簡單。代碼如下:___________________________________________________Sub 時間() Dim Tim As Byte, msg As StringTim = Hour(Now)Select Case TimCase 1 To 11msg = "上午"Case 12msg = "中午"Case 13 To 16msg = "下午"Case 17 To 20msg = "晚上"Case 23, 24msg = "午夜"End SelectMsgBox "現在是:" & msgEnd Sub__________________________________________以上代碼中,“Case 1 To 11”表示當前時間在1點到11點,用于限定一個范圍;“Case 12”是表示當前時間為12點時返回True,可用于限制一個具體的值,或者多個值。
如果需要羅列多個具體的值,那么需要在每個值之間使用逗號分隔,例如“Case 23, 24”。本例中不存在例外的情況,所以忽略“Case Else”語句。
實例2:根據成績返回評語如果成績小于60則返回“不及格”,60到80之間則返回“良”,80到99則返回“優”,100分則返回“滿分”,如果成績大于100則是輸入了錯誤值。利用一個Function過程來處理,其代碼如下:________________________________________Function 成績(rng As Range)Select Case rngCase Is < 0, Is > 100成績 = "輸入錯誤"Case Is < 60成績 = "不及格"Case 60成績 = "及格"Case 60 To 80成績 = "良"Case 81 To 99成績 = "優"Case Else成績 = "滿分"End SelectEnd Function_____________________________________以上代碼中,Is關鍵詞用于指定一種比較方式,后接Is和Like以外的比較運算符。
本例中需要限制小于0和大于100兩個條件,那么Is關鍵詞可以同行中使用兩次,中間用逗號分隔,表示羅列兩個條件。“Case Is < 60”語句在第一個條件“Case Is < 0, Is > 100”基礎上再進行比較,那么成績“-10”將不符合“<60”這個條件,因為 Select Case在處理多條件時,總是按從上到下的順序處理。
如果改變本例的條件順序,可能產生不同的運算結果。“Case Else”語句表示如果不符合前面的所有條件,則執行它后面的語句,本例中表示成績為100時返回“滿分”。
在工作表中使用該自定義函數后,結果如圖38.1所示。圖38.1 利用Function返回成績評語實例3:以指定格式顯示星期現要求在狀態欄顯示今日星期,以三種方式供用戶選擇。
具體代碼如下:Sub 在狀態欄顯示今日是星期幾()Dim str As Stringstar:Select Case InputBox("請指定日期顯示方式: " & Chr(10) & "1:周一樣式" & Chr(10) _& "2:星期一樣式" & Chr(10) & "3:英文", "日期顯示方式", 1)Case 1str = "AAA"Case 2str = "AAAA"Case 3str = "DDDD"Case ElseMsgBox "錄入錯誤,請重新錄入"GoTo starEnd *Bar = Format(Date, str)End Sub________________________________________本例是“Select Case”對象不確定的實例,它在執行后由用戶手動指定對象。在Select Case語句。
vb case 語句
這樣改,我試好沒問題了
仔細看下區別吧
Dim x As Single, y As String
Private Sub Command1_Click()
x = InputBox(prompt, "輸入成績", 0)
End Sub
Private Sub Command2_Click()
Print x
Select Case Val(x)
Case Is >= 90
Print "優秀"
Case Is >= 80
Print "良好"
Case Is >= 70
Print "中等"
Case Is >= 60
Print "及格"
Case Else
Print "不及格"
End Select
End Sub
Private Sub Form_Load()
*n = "輸入成績"
*n = "劃分等級"
End Sub
VB CASE語句
呵呵,題外話,題目中的象限設置錯了,y<0且x>0怎么會在第二象限?是在第四象限。改成Case語句是下面的代碼:
Private Sub Command1_Click()
Dim x#, y#
x = Val(*)
y = Val(*)
Select Case True
Case x > 0 And y > 0
Print "點在第一象限"
Case x < 0 And y > 0
Print "點在第二象限"
Case x < 0 And y < 0
Print "點在第三象限"
Case x > 0 And y < 0
Print "點在第四象限"
Case Else
Print "點在坐標軸上"
End Select
End Sub