selectcase?用VBA select case语法
大家好,今天给各位分享selectcase的一些知识,其中也会对用VBA select case语法进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
PLSQL中,select case..when.. then..什么意思怎么用
case是SQL国际标准就有的,他的作用就是实现条件语句(如同一般计算机语言中的if和switch……case)按照不同的使用方法case有两种语法:
1.简单case语法是
就是实现相当于一般计算机语言中switch……case样式的,格式是
case变量表达式--对某个‘变量表达式’进行判断
when值--当‘变量表达式’是某个‘值’时
then返回值表达式--返回‘返回值表达式’值
[when...
then...
.....]--可以进行多次判断
[else其他情况返回值表达式]--不符合所有when后面的就是其他情况了
end--结束
举例,比如一个表的sex列用M表示男性,F表示女性,现在不要返回MF而是想返回男女就可以:
select(case sex when'M' then'男' when'F' then'女' end) from表
2 case搜索函数
就是实现相当于一般计算机语言中if……elseif……样式的,格式是
case--case后面没有表达式表示使用的是搜索函数
when条件--条件就是布尔表达式,也就判断语句
then返回值表达式--条件为真时的返回该表达式值
[when...
then...
.........]--可以进行多次判断
[else其他情况返回值表达式]--不符合所有when后面的就是其他情况了
end--结束
同样的以性别为例
select(case when sex='M' then'男' when sex='F' then'女' end) from表
vb!检查半天没检查出来啊,他说case没有selectcase
从这些代码来看,不存在嵌套错误,问题应该出在下面的其他代码。
像这样的嵌套问题,只要你是严格按照标准的缩进格式来写代码的话就很容易查出来的。我就是用这样的方法来检查你的代码才得出没有问题的结论的。
下面是我格式化后的代码:
PublicSubpgtupo()
Randomize
SelectCaseInt(100*Rnd+1)
Case0To56
pgvspg_=Int((pg1+pg5+pg_17+pg_18)*Rnd+1)
Ifpgvspg_<=pg1Then
本方得分.Caption=Val(本方得分.Caption)+2
shouzhu=Int(100*Rnd+1)
Ifshouzhu<pg13Then
SelectCaseInt((sg8+sf8+pf8+c8)*Rnd+1)
Casesg8
sg助攻.Caption=Val(sg助攻.Caption)+1
Casesf8
sf助攻.Caption=Val(sf助攻.Caption)+1
Casepf8
pf助攻.Caption=Val(pf助攻.Caption)+1
CaseElse
c助攻.Caption=Val(c助攻.Caption)+1
EndSelect
EndIf
EndIf
Ifpgvspg_>pg1Andpgvspg_<=pg1+pg5Then
Randomize
pgand1=Int((pg_13+pg5)*Rnd+1)
Ifpgand1<=pg5Then
pg出手.Caption=Val(pg出手.Caption)+1
pg命中.Caption=Val(pg命中.Caption)+1
pg得分.Caption=Val(pg得分.Caption)+2
pg得分了=1
本方得分.Caption=Val(本方得分.Caption)+2
pg_犯规.Caption=Val(pg_犯规.Caption)+1
shouzhu=Int(100*Rnd+1)
Ifshouzhu<pg13Then
SelectCaseInt((sg8+sf8+pf8+c8)*Rnd+1)
Casesg8
sg助攻.Caption=Val(sg助攻.Caption)+1
Casesf8
sf助攻.Caption=Val(sf助攻.Caption)+1
Casepf8
pf助攻.Caption=Val(pf助攻.Caption)+1
CaseElse
c助攻.Caption=Val(c助攻.Caption)+1
EndSelect
EndIf
Callpgfreethrowone
Else
pg_犯规.Caption=Val(pg_犯规.Caption)+1:Callpgfreethrowtwo
EndIf
EndIf
Case56To67。。。
可以看到,这种写法,所有成对的代码(比如If与End If、Select Case与End Select等)都是处在同一条竖线的,我就是看到Case 0 To 56与Case 56 To 67是对齐的,所以我就敢百分百保证这段代码不存在嵌套错误!
用VBA select case语法
Private Sub CB1_Click()
Select Case Sheet1.Range("A1")
Case"A"
Sheet1.Range("A3")="联想"
Case"B"
Sheet1.Range("A3")="华硕"
Case"C"
Sheet1.Range("A3")="惠普"
Case"D"
Sheet1.Range("A3")="IBM"
Case"E"
Sheet1.Range("A3")="三星"
Case Else
Sheet1.Range("A3")="不知道"
End Select
End Sub
扩展资料:Select Case结构提供了If...Then...ElseIf结构的一个变通形式,可以从多个语句块中选择执行其中的一个。Select Case语句提供的功能与If...Then...Else语句类似,但是可以使代码更加简练易读。
Select Case结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个Case的值比较。如果匹配,则执行与该Case关联的语句块,示例代码如下:
Dimvalue'定义一个变量
value= 10'变量赋值为10SelectCasevalue'判断变量的值大小,如果相等则输出变量值
Case0 MsgBox 0
Case1 MsgBox 1
Case2 MsgBox 2
CaseElseMsgBox"数值超出范围!"'如过都不相等,则输出”数值超出范围!”EndSelect
注意:Select Case结构只计算开始处的一个表达式(只计算一次),而If...Then...ElseIf结构计算每个ElseIf语句的表达式,这些表达式可以各不相同。仅当每个ElseIf语句计算的表达式都相同时,才可以使用Select Case结构代替If...Then...ElseIf结构。
select case与if...then...else if的区别
if.........elseif..........end if多次嵌套后代码显得混乱.
select case表达式是必要参数。可以是任何数值表达式或字符串表达式。
select case表达式
case值1,这个值是程序员尽可能的把会出现的值写出来并进行判断.
select case值1
case值2
case else
这里写没有考虑到的情况的代码
end select这个 end select就是内嵌套的select case值1
case else
这里写没有考虑到的情况的代码
end select
OK,本文到此结束,希望对大家有所帮助。