精华内容
下载资源
问答
  • VBA select case

    2020-12-09 17:15:50
    vba select case select case 在多条件判断时候比if else 更加易写易读,逻辑更清晰 ID course score mark 小明 English 1 小红 Chinese 60 小军 Math 100 Sub shishi() Dim i As Integer For i = 2 To 4 '...

    vba select case

    • select case 在多条件判断时候比if else 更加易写易读,逻辑更清晰
    ID	course	score	mark
    小明	English	1	
    小红	Chinese	60	
    小军	Math	100	
    
    
    Sub shishi()
    Dim i As Integer
    
    For i = 2 To 4
        '相比if else if else,select case只判断一次,然后拿结果取和条件比,
        Select Case Cells(i, "c")
        Case Is < 60
            Cells(i, "d") = "不及格"
        Case Is = 60
            Cells(i, "d") = "刚刚好"
        Case Is > 80
            Cells(i, "d") = "你好棒哦"
        End Select
    Next
    
    End Sub
    
    
    展开全文
  • VBA select case 练习

    2019-01-12 10:57:00
    Sub demo() ' select case 练习 Dim card As String Dim i As Integer For i = 1 To 14 card = Range("a" & i) Select Case card Case "j" Range("b" & i...
    Sub demo()
    ' select case 练习
    Dim card As String
    Dim i As Integer
    
    For i = 1 To 14
        card = Range("a" & i)
        Select Case card
        
        
        
        Case "j"
        Range("b" & i) = "一等奖"
        Case "q"
        Range("b" & i) = "二等奖"
        Case "k"
        Range("b" & i) = "三等奖"
        Case "a"
        Range("b" & i) = "四等奖"
        Case Else
        Range("b" & i) = "谢谢参与"
        End Select
    Next
        
    End Sub
    
    
    '效果
    1	谢谢参与
    2	谢谢参与
    3	谢谢参与
    4	谢谢参与
    5	谢谢参与
    6	谢谢参与
    7	谢谢参与
    8	谢谢参与
    9	谢谢参与
    10	谢谢参与
    j	一等奖
    q	二等奖
    k	三等奖
    a	四等奖
    

      

    转载于:https://www.cnblogs.com/queqiaoshui/p/10259000.html

    展开全文
  • 你真的会使用VBASelect Case吗?

    千次阅读 2020-10-01 12:55:35
    语法格式可以参考微软在线文档:[Select Case 语句](https://docs.microsoft.com/zh-cn/office/vba/language/reference/user-interface-help/select-case-statement?WT.mc_id=M365-MVP-33461)。 似乎语法格式和用法...

    对于判断条件有多种分支的情况,使用Select Case替代If嵌套是个不错的选择,语法格式可以参考微软在线文档:Select Case 语句

    似乎语法格式和用法都很简单,但是实际使用过程中可能就不是那回事了。下面示例来自于网友提问:下面的代码无论数组值如何变化,输出结果最多就到“运行5”,之后的分支永远无法执行。

    Sub demo1()
        Dim mxx(1 To 2), nxx(1 To 2)
        nxx(1) = 0: nxx(2) = 10
        mxx(1) = 0: mxx(2) = 100
        Select Case mxx(1)
        Case Is = nxx(1) And mxx(2) = nxx(2)
            Debug.Print "运行1"
        Case Is = nxx(1) And mxx(2) > nxx(2)
            Debug.Print "运行2"
        Case Is = nxx(1) And mxx(2) < nxx(2)
            Debug.Print "运行3"
        Case Is > nxx(1) And mxx(2) = nxx(2)
            Debug.Print "运行4"
        Case Is < nxx(1) And mxx(2) = nxx(2)
            Debug.Print "运行5"
        Case Is > nxx(1) And mxx(2) < nxx(2)
            Debug.Print "运行6"
        Case Is < nxx(1) And mxx(2) < nxx(2)
            Debug.Print "运行7"
        Case Is > nxx(1) And mxx(2) > nxx(2)
            Debug.Print "运行8"
        Case Is < nxx(1) And mxx(2) > nxx(2)
            Debug.Print "运行9"
        End Select
    End Sub
    

    其实网友之注意到有些Case分支没有执行,但是并没有注意到,即使被执行的分支,结果也不一定是对的。例如上述代码中

        nxx(1) = 0: nxx(2) = 10
        mxx(1) = 0: mxx(2) = 100
    

    很明显 mxx(1) = nxx(1) And mxx(2) > nxx(2),应该是希望其使用如下的Case分支,但是运行结果却是运行1

    Case Is = nxx(1) And mxx(2) > nxx(2)
        Debug.Print "运行2"
    

    为什么会出现这个结果呢?这位网友没有理解Case语句的用法,第一个Case分支相当于If mxx(1) = (nxx(1) And mxx(2) = nxx(2)),此时将相关值代入其中,因此条件表达式变为mxx(1) = (0 And 10 > 100),进而简化为mxx(1) = 0,第一个分支条件满足,所以输出结果为运行1,然后执行End Select。由于类似的原因,后续几个分支不可能被执行。

    从代码过程分析,可以看出这位网友希望实现的是根据两个数组元素的大小关系,进而执行不同的操作,那么应该使用如下代码。

    Sub demo()
        Dim mxx(1 To 2), nxx(1 To 2)
        nxx(1) = 0: nxx(2) = 10
        mxx(1) = 0: mxx(2) = 100
        Select Case True
        Case mxx(1) = nxx(1) And mxx(2) = nxx(2)
            Debug.Print "运行1"
        Case mxx(1) = nxx(1) And mxx(2) > nxx(2)
            Debug.Print "运行2"
        Case mxx(1) = nxx(1) And mxx(2) < nxx(2)
            Debug.Print "运行3"
        Case mxx(1) > nxx(1) And mxx(2) = nxx(2)
            Debug.Print "运行4"
        Case mxx(1) < nxx(1) And mxx(2) = nxx(2)
            Debug.Print "运行5"
        Case mxx(1) > nxx(1) And mxx(2) < nxx(2)
            Debug.Print "运行6"
        Case mxx(1) < nxx(1) And mxx(2) < nxx(2)
            Debug.Print "运行7"
        Case mxx(1) > nxx(1) And mxx(2) > nxx(2)
            Debug.Print "运行8"
        Case mxx(1) < nxx(1) And mxx(2) > nxx(2)
            Debug.Print "运行9"
        End Select
    End Sub
    

    【代码解析】
    主要有两个变化

    1.Select Case True不在此使用变量
    2.每个Case分支使用一个And条件表达式

    运行代码可以得到正确的结果。

    展开全文
  • VBA-Select语句

    千次阅读 2020-02-11 14:39:44
    数据类型(简写): Integer:整型 % Single:单精度 ! Double:双精度 # Long:长整型 & String:字符 $ Currency:货币型 @ ...Select Case pass Case "999" MsgBox "登陆成功" Cas...

    数据类型(简写):

    Integer:整型  %

    Single:单精度  !

    Double:双精度  #

    Long:长整型  &

    String:字符 $

    Currency:货币型  @

     

    Sub test()
    Dim pass$
    0:
    pass = InputBox("请输入密码")
    Select Case pass
    Case "999"
    MsgBox "登陆成功"
    Case Else
    MsgBox "密码输入失败"
    GoTo 0          --从0这个数字开始重新运行程序
    End Select
    End Sub
     

    展开全文
  • ExcelVBASelect Case

    2020-06-06 02:47:52
    关键字Select Case和End Select之间放置任意多个条件以测试。子句Case Else是可选的,当你希望可能有条件表达式返回假时使用它。在Select Case语句里,VB将每个表达式和测试表达式相比较。 Sub TestButtons() ...
  • VBA 关于 select 和 active 的区别

    千次阅读 2020-02-03 21:30:11
    select可以选择各种各样的对象 select wb/ sh/ range /cell /chart等等 active 各种当前激活的都算active select可以同时 select多个, active一般同时只有1个 对于sheet与range对象select可以同时选择多个,而...
  • VBA-判断语句之Select

    千次阅读 2018-11-08 16:01:46
    声明:笔记来源于我要自学网-《Excel VBA基础教程》-授课讲师:曾贤志 Select Cate 语句 根据表达式的值, 来决定执行几组语句中的其中之一。 Sub select单条件判断() i = 1 Select Case i Case Is &gt; 0 ...
  • 1 select方法 1.1Range.Select 方法 (选择对象。) 应用于Shape 和 ShapeRange对象的 Select方法。 选定指定的对象。 语法 expression.Select(Replace),expression 必需。该表达式返回以上一个对象。 ...
  • 上面选取整个sheet1,怎么样能取其中一块,如c2:c5这样子
  • VBA中Activate方法和Select方法的区别

    千次阅读 2017-07-06 16:12:15
    VBA中的Activate方法和Select方法看起来似乎相同,其实二者是有区别的。Activate方法的作用是激活,而Select方法的作用是选择。其区别如下:  1.对于“Sheets”对象  Sheets.Select可以同时选择多个工作表,而...
  • VBA第5课 select多条件判断

    万次阅读 2015-05-01 11:40:05
    Sub select多条件判断() Select Case Sheet1.[b1].Value Case Is > 0 MsgBox "大于0" Case Else MsgBox "小于或等于0" End Select End Sub Sub select多条件判断2() Select Case Sheet1.[b1].Value Case "12" Sheet...
  • 相关知识点 静态变量:模块级的变量都是静态变量,无论是Pubic还是Private,execl关闭静态变量就消失了 例1 运行多少次都是1,每次都要重新分配内存 Sub a() dim x x=x+1 msgbox x ...di...
  • VBA的分支结构中,最常用的就是IF…Then…Else结构,这个结构在所有的编程语言中的逻辑都是一致的,哪怕是Excel的函数都一致,唯一需要注意的区别,就是在各种语言中的形式,其语法为 If condition Then [statements...
  • vba range select 方法无效

    千次阅读 2012-06-26 23:41:18
    vba 中在range使用select方法的时,需要先激活range所在的sheet,如果sheet没有被激活,使用range.select方法会痴线1004, 方法无效的错误。 激活sheet,可以使用Activate方法。
  • VBA-Select Case语句教程

    千次阅读 2012-04-24 10:00:32
    Select Case语句教程 [日期:2008-03-01] 来源: 作者:admin [字体:大 中 小] 为了避免难以弄清的复杂的嵌套的If语句,你可以使用Select Case语句代替。它的语法为: Select Case 测试表达式 Case ...
  • strSql = ""strSql = strSql &... " select max(number) from dbo.#DATA" & vbCrLfrss.Open strSql, cnn numb = rss.Fields(0)rss.Close 转载于:https://www.cnblogs.com/zigewb/archive/2013/02/06/2900645.htm...
  • cad使用select和selectbypolygon时出现选择范围正确但选择范围内object选择不到selectionset集合中,在进行绘图过程中发现不停的狂按鼠标中键(zoomall)时会选择到object,建议在使用select和selectbypolygon时添加一...
  • vba语句select case End Select.docx
  • VBA FOR & IF & Select Case

    2020-12-17 11:16:48
    VBA FOR & IF & Select Case 测试内容 栗子 id course score MARK JOHN ENG 1 MARY MATH 59 ERIC CHI 65 MIKE PE 100 for 代码: Sub shishi() Dim i As Integer Range("d2:d10").ClearContents '...
  • Sub calculateTheGrade() Dim point As Integer point = CInt(InputBox("请输入你的... Select Case point Case 100 MsgBox "还算凑合", vbOKOnly, "Calculate the Grade" Case 90 To 99 MsgBox "啥也不是,就
  • 建立运行环境-Excel Vba,可移植到VB环境中(需修改一些代码) '仿制简单的SQL查询语句,用于对二维数组的查询 '参照SQL语句:Select * From array [Where conditions] [Distinct fields] [ResultWithTitle] ' '...
  • 背景:打算在online工作表中粘贴选择内容,结果仍会在当前活动工作表中粘贴,或者提示“类range的select方法无效” 原因: 上述代码中虽然打算选择online工作表,但最后运行结果是复制在当前活动的工作表,因为到...
  • VBA中的错误处理

    2019-09-25 07:11:08
    从理论上讲,VBA没有提供任何的错误处理机制,这种被用在微软Office产品中的以Visual Basic语言为基础的脚本语言根本就不要任何的错误处理,当程序出现错误或产生异常情况时,VBA会自动定位到出错的代码行,然后提示...
  • Private Declare Function CoCreateGuid Lib "ole32" (id As Any) As Long Sub zidong() cellNum = Sheet1.[a65536].End(xlUp).Row For i = 2 To cellNum '开始创建货品=========================================...
  • VBA学习笔记之Union方法

    千次阅读 2019-09-26 00:37:09
    'Application.Union 方法'返回两个或多个区域的合并区域'Sub test()Range("a1:b3,c5:d8").Select '文本地址引用方式Union([a1:b3], [c5:d8]).Select '单元格区域引用方式End Sub'小结:虽然range也可以完成多区域的...
  • sql 关于select查询求和

    2020-04-02 10:58:51
    数据表中有三列,分别是商品名称,商品销售数量,商品单价 怎么使用select查询每个商品的销售总额
  • INSERT INTO SELECTSELECT INTO Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表...
  •  ThisWorkbook.Worksheets(strSheetTempalteName).Range("A" & intJobBeginLineNum & ":S" & intJobBeginLineNum & "").Select ''这段代码 出问题  Selection.Copy  Selection.Insert Shift:=xlDown   ...
  • VBA使用SQL查询表数据

    2019-09-18 05:53:21
    一、VBA使用SQL查询表,统计数据 Sub 统计数据() Dim CNN As Object Dim sql As String ThisWorkbook.Sheets("统计表").Activate With ThisWorkbook.Sheets("统计表") Cells.Clear Cells(1, 1) = "部门名...
  • IF Then Else end if If 条件表达式 Then 条件为真执行的操作 ...Select Case 表达式 Case Is 条件1 操作1 Case Is 条件2 操作2 Case Is 条件3 操作3 ...... Case Else 操作 End Selec

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,587
精华内容 3,434
关键字:

vba的select