精华内容
下载资源
问答
  • 1. 赋值语句 Variable = expression 2. 循环语句 a. For...Next语句(在指定次数的情况下进行重复操作) b. For Each ...Next语句(用于遍历集合中的每个元素重复元素,执行重复操作) c. Do...Loop语句(不知道...

    1. 赋值语句

    Variable = expression


    2. 循环语句

    a. For...Next语句(在指定次数的情况下进行重复操作)

    b. For Each ...Next语句(用于遍历集合中的每个元素重复元素,执行重复操作)

    c. Do...Loop语句(不知道循环次数时使用起来事半功倍(反之,可使用For...Next或For Each ...Next语句))

       c1. Do While...Loop

       c2. Do Until ...Loop


    3. 判断语句

    a. If...Then...Else语句 (根据表达式的值进行判断)

    b. Select Case语句 (根据表达式的值决定执行一系列固定的语句组合中的某一段语句)


    4. 其他语句

    a. With语句

    b. While...Wend

    c. Exit (用于退出Do...Loop, For...Next, Function, Sub或Property代码块)

    d. End语句 (用于结束一个过程或块)

    Option Explicit
    Sub Questions()
    Dim Question As String
        Question = "怎么去青年出版社吗?"
        'MsgBox函数用户输出对话框信息!
        MsgBox "我是李四,请问:" & Chr(10) & Chr(13) _
            & "你知道," & Question
    End Sub
    Sub ForNext()
    '定义用于循环的整型变量
    Dim Ix As Integer
    '定义用于保存计算结果的整型变量
    Dim Iy As Integer
        '为Iy赋初值
        Iy = 0
        For Ix = 1 To 100
            Iy = Iy + Ix
        Next Ix
        '把Iy计算结果赋予选中单元格
        ActiveCell.Value = Iy
        '输出提示信息
        MsgBox "计算结果为" & Iy & Chr(10) & Chr(13) _
             & "结果放到工作表中。"
    End Sub
    
    Sub ForEachNext()
    '定义用于读取单元格内内容的变体型变量
    Dim VarFontSt As Variant
    '定义用于循环的整型变量
    Dim Ix As Integer, Iy As Integer
        '使用For...Next语句插入数据
        For Ix = 1 To 15
          For Iy = 1 To 7
        '把单元格的值设置成为其行与列值相加
              Cells(Ix, Iy).Value = Ix + Iy
          Next Iy
        Next Ix
        '使用For Each...Next语句改变字体颜色和大小
        For Each VarFontSt In Range("A1:D4")
        '为单元格的字体设置字体颜色
            VarFontSt.Font.ColorIndex = 7
        '为单元格的字体设置字体大小
            VarFontSt.Font.Size = 15
        Next VarFontSt
    End Sub
    
    Sub DoWhileLoop()
    '定义用于循环的整型变量
    Dim Ix As Integer
    '定义用于保存循环次数的整型变量
    Dim Iy As Integer
        '为变量赋初值
        Ix = 0
        Iy = 6
        '使用Do While……Loop语句计算循环次数
        Do While Iy > 3
            Iy = Iy - 1
            Ix = Ix + 1
        Loop
        '输出计算的循环次数结果
        MsgBox "此循环总共循环了 " & Ix & " 次!"
    End Sub
    
    Sub DoUntilLoop()
    '定义用于循环的整型变量
    Dim Ix As Integer
    '定义用于保存循环次数的整型变量
    Dim Iy As Integer
        '为变量赋初值
        Ix = 0
        Iy = 6
        '使用Do Until……Loop语句计算循环次数
        Do Until Iy = 3
            Iy = Iy - 1
            Ix = Ix + 1
        Loop
        '输出计算的循环次数结果
        MsgBox "此循环总共循环了 " & Ix & " 次!"
    End Sub
    
    Sub IfThenElse()
    '定义用于循环的整型变量
    Dim Ix As Integer, Iy As Integer
        '使用For……Next循环语句
        For Ix = 4 To 15
            For Iy = 4 To 7
            '判断单元格的值是否大小15
                If Cells(Ix, Iy).Value > 15 Then
            '如果单元格的值大小15,则改变其字体颜色
                   Cells(Ix, Iy).Font.ColorIndex = 7
                Else
            '如果单元格的值不大小15,则在其后面添加“<=15”字符串
                   Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "<=15"
                End If
            Next Iy
        Next Ix
    End Sub
    
    Sub SelectCase()
    '定义用于循环的整型变量
    Dim Ix As Integer, Iy As Integer
        '使用For……Next循环语句
        For Ix = 1 To 15
            For Iy = 1 To 3
                '使用Select Case语句判断单元格的值
                Select Case Cells(Ix, Iy).Value
                '如果单元格的值在2与7之间,则在其后面添加“%A”
                Case 2 To 7
                    Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "%A"
                '如果单元格的值在7与11之间,则在其后面添加“%A”
                Case 7 To 11
                    Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "%B"
                '如果单元格的值在11与15之间,则在其后面添加“%A”
                Case 11 To 15
                    Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "%C"
                '如果单元格的值在15与18之间,则在其后面添加“%A”
                Case 15 To 18
                    Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "%D"
                End Select
            Next Iy
        Next Ix
    End Sub
    
    Sub WithEndWith()
        '使用With语句,单元格区域为参数
        With Worksheets("Sheet1").Range("D12:G15")
            '把单元格的值都改变为200
            .Value = 200
            '把单元格字体设置成“斜体”
            .Font.Bold = True
            '为单元格设置底色
            .Interior.Color = RGB(255, 255, 0)
        End With
    End Sub
    
    Sub ExitStatements()
    '定义用于循环的整型变量
    Dim Ix As Integer, MyNum As Single
        '建立无穷循环
        Do
            For Ix = 1 To 1000
                '生成0到1000的随机数字
                MyNum = Int(Rnd * 1000)    '生成一随机数码
                '判断生成的随机数字
                Select Case MyNum
                    '如果是19,退出 For...Next 循环
                    Case 19: Exit For
                    '如果是 29,退出 Do...Loop 循环
                    Case 29: Exit Do
                    '如果是 39,退出子过程
                    Case 39: Exit Sub
                End Select
            Next Ix
        Loop
    End Sub
    
    Sub EndStatements()
        '定义两个变量,默认的情况下是变体类型
        Dim PasswordInput, PasswordSet
        '把12345字符串赋予PasswordSet变量
        PasswordSet = "12345"
        '把InputBox函数返回用户输入的密码字符串赋予PasswordInput变量
        PasswordInput = InputBox("请输入密码:")
        '判断输入的密码与设定的密码是否相等
        If PasswordInput <> PasswordSet Then
            '如果不相等,则弹出密码错误信息,并且结束本过程
            MsgBox "对不起,你输入的密码错误,请重新输入!"
            End
        End If
    End Sub
    
    


    后记:熟悉各种控制机构应该是编程的基本素养,感谢VBA学习,让我对编程有了更深层次的认识。


    展开全文
  • 1 取对象的属性 1.1 取对象的属性 x= range("a6635").end(xlup).row y=worksheets.count 1.2 引用对象的方法,执行一个动作 dict.add 1,"abc" ...2 给对象的属性赋值 range().interior.colorindex=3 ...

    1 取对象的属性

    1.1 取对象的属性

    x= range("a6635").end(xlup).row

    y=worksheets.count

     

    1.2 引用对象的方法,执行一个动作

    dict.add  1,"abc"

    cells().delete

    range().clearcontent

     

    2 给对象的属性赋值

    range().interior.colorindex=3

     

     

    3 批量给对象的属性赋值

     

    with 对象

      .属性1=属性值

      .属性2=属性值

      .属性3=属性值

      .属性4=属性值

    end with

     

    展开全文
  • VBA-判断语句之IF

    万次阅读 2018-11-08 15:28:51
    声明:笔记来源于我要自学网-《Excel VBA基础教程》-授课讲师:曾贤志 '判断语句IF单条件与多条件判断 Sub IF条件判断之单条件1() Dim a%, b% '声明变量 a = 2 '给变量赋值 b = 2 '给变量赋值 If a = b Then ...

    声明:笔记来源于我要自学网-《Excel VBA基础教程》-授课讲师:曾贤志


    '判断语句IF单条件与多条件判断
    Sub IF条件判断之单条件1()
    Dim a%, b%  '声明变量
    a = 2   '给变量赋值
    b = 2   '给变量赋值
    If a = b Then MsgBox "相等"     '如果a等于b,就输入到窗口显示“相等”
    End Sub
    
    Sub IF条件判断之单条件2()
    Dim a%, b%  '声明变量
    a = 2   '给变量赋值
    b = 2   '给变量赋值
        If a = b Then   '如果a等于b 那么
            MsgBox "相等"   '文本窗口显示“相等”
        End If  '当IF语句如上进行换行输入,需要在下方输入结束语句
    End Sub
    
    Sub IF条件判断之单条件3()
    Dim a%, b%  '声明变量
    a = 2   '给变量赋值
    b = 2   '给变量赋值
        If a = b Then   '如果a等于b 那么
            MsgBox "相等"   '文本窗口显示“相等”
        Else
            MsgBox "不相等" '当条件不满足的时候,文本窗口显示"不显示"
        End If
    End Sub

    实例应用:如图根据分数判断等级

    Sub IF条件判断之多条件等级划分()
        If Sheet1.Range("b1") >= 90 Then    '如果工作表2里的单元格b1大于等于90,那么
            Sheet1.Range("b2") = "优秀" '就在b2单元格显示优秀
        ElseIf Sheet1.Range("b1") >= 80 Then
            Sheet1.Range("b2") = "良好"
        ElseIf Sheet1.Range("b1") >= 70 Then
            Sheet1.Range("b2") = "中等"
        Else
            Sheet1.Range("b2") = "较差" '当单元格b1都不成立的时候,那么就在b2单元格显示较差
        End If
    End Sub
    Sub IIF函数与工作表函数语法一致()
        Sheet1.Cells(2, 3) = IIf(Sheet1.Cells(1, 2) >= 90, "优秀", IIf(Sheet1.Cells(1, 2) >= 80, "良好", IIf(Sheet1.Cells(1, 2) >= 70, "中等", "较差")))
    End Sub

    ***IF条件判断小结***
               1、单行形式(IF...Then)
                     If 条件判断_Then 条件成立结果
                     注意:在单行形式中,按照 IF...Then 判断的结果也可以执行多条语句。
                     所有语句必须在同一行上并且以冒号分开。
                 例子:

    Sub test()
        If 11 > 10 Then a = a + 1: b = 1 + a: c = 1 + b
    End Sub

               2、单行形式(If条件判断 Then 条件成立 Else 条件不成立)
                  例子:

    Sub test2()
        If 2 > 1 Then MsgBox "yes" Else MsgBox "no"
    End Sub

               3、块形式(If... Then...End) :该种写法适合语句比较复杂,比较长的时候,让代码易读性强
                     If条件判断 Then
                     条件成立结果
                     End If
                  例子:

    Sub test3()
        If 11 > 10 Then
        a = 1 + a
        b = 1 + a
        c = 1 + b
        End If
    End Sub

               4、块形式的If嵌套
                     If 条件判断 Then
                     成立时的结果
                     ElseIf 条件判断 Then
                     成立时的结果
                      .........
                     Else
                     不成立时的结果
                     End If
                 例子:

       Sub IF条件判断之多条件等级划分()
           If Sheet1.Range("b1") >= 90 Then
               Sheet1.Range("b2") = "优秀"
           ElseIf Sheet1.Range("b1") >= 80 Then
                Sheet1.Range("b2") = "良好"
          ElseIf Sheet1.Range("b1") >= 70 Then
                Sheet1.Range("b2") = "中等"
         Else
             Sheet1.Range("b2") = "较差"
            End If
       End Sub

     

    展开全文
  • 只是定义了数组,但由于把数组赋值时放到了if语句里,导致可能由于没有符合if语句的情况而没有给数组具体赋值,然后对数组进行其他操作(比如进行数组内数值排序)就会报错。 我想问下,怎么判断通过dim arr()...
  • 大家好,我们今日继续讲解VBA代码解决方案的第113讲内容:VBA数组的深入讲解,数组的批量写入时高效方法利用 一,数组的批量写入实际上用一条语句就可以将数的内容写入单元格区域中,即:单元格区域=数组名代码:Sub ...

    e55593ca0516ca282f7a70607c9d37a9.png

    大家好,我们今日继续讲解VBA代码解决方案的第113讲内容:VBA数组的深入讲解,数组的批量写入时高效方法利用

    一,数组的批量写入

    实际上用一条语句就可以将数的内容写入单元格区域中,即:单元格区域=数组名

    代码:

    Sub Mynz_sz6()

    '创建数组,并赋值

    Dim arr(1 To 60000), i As Long

    For i = 1 To 60000

    arr(i) = i

    Next i

    '将数组的值写入单元格(c列)

    [C1:C65536].Clear '清除原有数据

    Dim startime As Double

    startime = Timer

    [C1:C60000] = Application.WorksheetFunction.Transpose(arr)

    MsgBox "数组写入共用了" & Timer - startime & "秒!"

    End Sub

    代码截图:

    0ca231ce4782a2694e00287bbf733161.png

    这里,我们用“[C1:C60000]= Application.WorksheetFunction.Transpose(arr)”代替了代码的For循环,不知大家是否还记得我之前讲到的代码呢:

    Sub Mynz_sz5()

    '创建数组,并赋值

    Dim arr(1 To 60000), i As Long

    For i = 1 To 60000

    arr(i) = i

    Next i

    '将数组的值写入单元格(C列)

    [C1:C65536].Clear '清除原有数据

    Dim irow As Long

    Dim startime As Double

    startime = Timer

    For irow = 1 To 60000

    Cells(irow, 3) = arr(irow)

    Next irow

    MsgBox "数组写入共用了" & Timer - startime & "秒!"

    End Sub

    这段程序运行的时间是:1.07031秒,那么上面的代码有时会是多少呢?我们看看运行的结果:

    f5c29289f0c8abb8b894f3a26142b725.png

    仅用了0.0625秒,提高了多少倍呢?大家可以算一算。是16倍以上! 所以在大批量的数据需要写入时,我建议尽量不要用循环的方式写入。

    二 数组批量写入时需要特别注意的几点。

    1 一维数组写入单元格区域时,这个单元格必须是水平方向的,也就是一个一行多列的单元格区域,如果想写入垂直区域,必须使用工作表的Transpose函数转换一下;

    2 和工作表的多单元格数组公式一样,数组写入单元格时,单元格的区域必须和数组的大小一致。

    今日内容回向:

    1 数组批量写入如何能有效的节约时间呢?

    2 转置函数大家是否还记得呢?

    《VBA代码解决方案》终于可以和大家见面了,是我将一些非常实用的VBA内容结集成册,PDF文件,可以从中直接查找到你想要解决问题的思路和方法,可以复制文中的VBA代码直接使用。有需要的朋友微信联络我NZ9668。

    ceb887f7e16ef35722c419bd61157b94.png

    1742d9ef4c849f8983dbd850d0f2550c.png
    展开全文
  • 分支语句 1 If expression1 Then 2 expressions 3 ElseIf expression2 Then 4 expressions ...注:VBA中等于号和赋值符号都是"=",但并不会冲突,只有在选择语句中“=”才表示是否相等 示例(交互型...
  • 直接上代码示例: nowdate为日期型变量 strSql = “select DISTINCT 日期 from new_ubi_data ORDER BY 日期 DESC Limit 0,1” ...在执行SQL查询语句后添加(0)即可 https://www.cnblogs.com/daifibonacci/p/32724...
  • myarray=rs.GetRows'将记录集结果赋值给数组示例语句 重置数组大小 ReDim myarray(UBound(myarray) + 1)'重置数组大小不保留原来数据 ReDim Preserve myarray(UBound(myarray) + 1)'重置数组大小且保留原来数据 将...
  • VBA对变量类型没有进行严格的管控,无论哪种情况,定义的类型和实际使用中赋值类型并没有什么关系,也就是说定义为integer的变量相同赋值字符串。反之也然。 这种结果往往会在程序中产生歧义,导致错误...
  • 作者:iamlaosong ...虽然这个方式速度快,但只适合读取连续的列,对于分开的列,这种方法不可行,不过可以用SQL语句读取到记录集中,然后对记录集进行处理,看下面例程: Sub tt() Dim cnn2, rst2, cmd As Object
  • 数组声明一维数组Dim/Static/Private/Public([索引下界]To]索引上界)As二维数组Dim/Static/Private/Public(行数,列数)As...)上界值:UBound(数组名[,返回哪个维数的上界值])数组赋值使用循环语句初始化数组FOR=索引...
  • 今天是第三篇VBA实战入门教程,我们将给大家带来VBA中最常见语句之一,循环语句。典型的循环语句有4种,分别是Do While…Loop循环、Do…Loop Until循环、For…Next循环、For Each x In y … Next循环。查看循环逻辑...
  • 直接上代码示例: nowdate为日期型变量 strSql = "select DISTINCT 日期 from new_ubi_data ORDER BY 日期 DESC Limit 0,1" ...在执行SQL查询语句后添加(0)即可 转载于:https://www.cnblogs.com/daifibonacci...
  • VBA基础

    2020-07-04 10:41:08
    目录对象语法规则VBA常见的数据类型数据类型声明判断语句循环语句结束语句跳转语句错误分支重复利用对象公式与函数运算符禁止/允许弹出警示窗口立即debug运行窗口输出VBA字典技术(类)正则表达式工作簿与工作表工作...
  • VBA参考资料

    2013-05-04 14:30:38
    第一节 标识符 1 第二节 运算符 1 第三节 数据类型 1 ...第六节 注释和赋值语句 2 第七节 书写规范 2 第八节 判断语句 2 第九节 循环语句 3 第十节 其他类语句和错误语句处理 4 第十一节 过程和函数 5
  • 10、写赋值语句 11、写可执行的语句 12、Public 语句 13、Private 语句 14、使用数组 15、使用常数 16、AppActivate 语句 17、Beep 语句 19、Date 语句 20、Error 语句 21、Exit 语句 22、GoSub...Return 语句 23、...
  • Excel VBA 之快速上手

    2009-01-15 12:42:29
    vba 速通教程 ...第六节 注释和赋值语句 第七节 书写规范 第八节 条件语句 第九节 循环语句 第十节 其他类语句和错误语句处理 第十一节 过程和函数 第十二节 内部函数 第二章 Excel VBA常用对象之使用
  • VBA常用语法(一)

    2019-12-11 22:45:14
    VBA语句 一、VBA语句 1.宏程序语句 运行后可 以完成一个功能。 ​`//给单元格a1赋值 Sub test() //开始语句 Range("a1") = 10 //程序主体 End Sub //结束语句 2.函数程序语句 运行后可以返回一个值 Function ...
  • Sub 和 Function 是VBA提供的两种封装体。...Sub 中没有对过程名赋值语句,而 Function 中有对函数名赋值语句,一般在函数最后返回值,格式如下:Set functionName = xxxxxx调用过程:调用 Sub 过程与 Functio...
  • VBA基础语法:变量

    2020-01-02 11:46:59
    目录 声明变量 ...写赋值语句 声明常数 声明变量 通常会使用 Dim 语句来声明变量。一个声明语句可以放到过程中以创建属于过程的级别的变量。或在声明部分可将它放到模块顶部,以创建属于模块级别的...
  • Excel_VBA教程.pdf

    2013-02-22 14:44:55
    第六节 注释和赋值语句2 第七节 书写规范2 第八节 判断语句2 第九节 循环语句3 第十节 其他类语句和错误语句处理4 第十一节 过程和函数4 一.Sub过程4 二.Function函数 5 三.Property属性过程和Event事件...
  • VBA - Hello World

    千次阅读 2012-11-23 15:58:29
    首先启用宏:文件>选项>信任中心>宏设置>启用所有宏+信任对VBA工程对象模型的访问...关闭“设计模式”,然后点按钮进一步,如果想给某个单元格赋值,可以使用下边的语句Range("A1").Value = "Hello World"我们把Hello W
  • Excel-VBA

    2018-05-19 20:32:48
    写在前面:如果具备一定的编程能力,再看Excel的VBA,我觉得是非常容易理解和上手的,而且,...了解如何定位表格中的sheet以及cell,如何给其value赋值 了解如何使用循环、判断等语句,对表格做一些处理 了解对象、...
  • 第六节 注释和赋值语句 第七节 书写规范 第八节 条件语句 第九节 循环语句 第十节 其他类语句和错误语句处理 第十一节 过程和函数 第十二节 内部函数 第二章 Excel VBA常用对象之使用 第一节 文件的操作 1)...
  • 10、写赋值语句 11、写可执行的语句 12、Public 语句 13、Private 语句 14、使用数组 15、使用常数 16、AppActivate 语句 17、Beep 语句 19、Date 语句 20、Error 语句 21、Exit 语句 22、GoSub...Return 语句 23...
  • VBA中,可以通过Dim语句定义变量,在程序运行的过程中,定义的变量可以随时赋值或读取。 目录 步骤1 步骤2 步骤3 步骤4 说明 声明变量 变量名的命名规则 VBA的数据类型 数据类型的分类及表示方式 (1)...
  • Excel_VBA教程

    2014-09-22 11:36:34
    第六节 注释和赋值语句 2 第七节 书写规范 2 第八节 判断语句 2 第九节 循环语句 3 第十节 其他类语句和错误语句处理 4 第十一节 过程和函数 4 一.Sub过程 4 二.Function函数 5 三.Property属性过程和Event事件...
  • Excel+VBA+之快速上手

    2012-02-14 19:39:00
    第六节 注释和赋值语句 第七节 书写规范 第八节 条件语句 第九节 循环语句 第十节 其他类语句和错误语句处理 第十一节 过程和函数 第十二节 内部函数 第二章 Excel VBA常用对象之使用 第一节 文件的操作 1)...

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

vba赋值语句