zoukankan      html  css  js  c++  java
  • VBA 变量、函数、公式

    一、什么是变量?

    '所谓变量,就是可变的量。就好象在内存中临时存放的一个小盒子,这个小盒子放的什么物体不固定。

    Sub t1()
      Dim X As Integer 'x就是一个变量
      For X = 1 To 10
        Cells(X, 1) = X
      Next X
    End Sub
    二、小盒子里可以放什么?
       '1 放数字
         '如t1
         
        '2 放文本
        Sub t2()
         Dim st As String
         Dim X As Integer
         For X = 1 To 10
          st = st & "Excel精英培训"
         Next X
        End Sub
        
         '3 放对象
         
          Sub t3()
            Dim rg As Range
            Set rg = Range("a1")
            rg = 100
          End Sub
          
          
          '4 放数组
           Sub t4()
           
            Dim arr(1 To 10) As Integer, X As Integer
            For X = 1 To 10
              arr(X) = X
            Next X
            
           End Sub

    三、变量的类型和声明

    '1 变量的类型
    '详见帮助文件

    '2 为什么要声明变量
    '3 声明变量
    'dim public

    四、变量的存活周期

    '1 过程级变量:过程结束,变量值释放
    '如t1
    '2 模块级变量:变量的值只在本模块中保持,工作簿关闭时随时释放

             Sub t6()
                m = 1
             End Sub
             Sub t5()
              MsgBox m
              m = 7
             End Sub

     '3 全局级变量: 在所有的模块中都可以调用,值会保存到EXCEL关闭时才会被释放。

           ' public 变量
           
             Sub t7()
               MsgBox qq
             End Sub

    五 变量的释放 '一般情况下,过程级变量在过程运行结束后就会自动从内存中释放,而只有一些从外部借用的对象变量才需要使用set 变量=nothing进行释放。

    公式函数

    一、在单元格中输入公式
    
    '1、用VBA在单元格中输入普通公式
    
         Sub t1()
           Range("d2") = "=b2*c2"
         End Sub
         
         Sub t2()
          Dim x As Integer
          For x = 2 To 6
           Cells(x, 4) = "=b" & x & "*c" & x
          Next x
         End Sub
    
    '2、用VBA在单元格输入带引号的公式
         Sub t3()
         
         Range("c16") = "=SUMIF(A2:A6,""b"",B2:B6)" '遇到单引号就把单引号加倍
         
         End Sub
          
    '3、用VBA在单元格中输入数组公式
    
        Sub t4()
          Range("c9").FormulaArray = "=SUM(B2:B6*C2:C6)"
        End Sub
        
    '二、利用单元格公式返回值
    
         Sub t5()
             Range("d16") = Evaluate("=SUMIF(A2:A6,""b"",B2:B6)")
             Range("d9") = Evaluate("=SUM(B2:B6*C2:C6)")
         End Sub
      
    '三、借用工作表函数
        
         Sub t6()
            
            Range("d8") = Application.WorksheeFunction.CountIf(Range("A1:A10"), "B")
            
         End Sub
    
    '四、利用VBA函数
    
         Sub t7()
         
          Range("C20") = VBA.InStr(Range("a20"), "E")
    
         End Sub
         
       
    
    '五、编写自定义函数
    
          Function wn()
             wn = Application.Caller.Parent.Name
          End Function
         

    'VBA第七集:VBE编辑器

    '一、VBE的窗口
    '1、工程窗口

    'A 显示工作簿工作表对象
    'B 窗体
    'C 模块
    'D 类模块

    'range("a1")=10

    '对应工程窗口的对象和模板,显示其所具体的一些特征。

    '3、代码窗口
    'A 注释文字的设置
    'B 代码缩进的设置
    'C 代码强制转行的设置
    'D 代码运行和调试
    '逐句运行
    '设置断点
    'E 对象列表框和过程列表框
    '4、立即窗口

    '立即窗口可以把运行过程中的值立即显示出来,主要用于程序的调试

    Sub d()
    Dim x As Integer, st As String
    For x = 1 To 10
    st = st & Cells(x, 1)
    Debug.Print "" & x & "次运行结果:" & st
    Next x
    End Sub

    '5、本地窗口

    '在本地窗口中可以显示运行中断时对象信息、变量值、数组信息等。

    Sub d1()
    Dim x As Integer, k As Integer
    For x = 1 To 10
    k = k + Cells(x, 1)
    Next x
    End Sub
  • 相关阅读:
    一天快速入门Python语法基础之类与继承
    一天快速入门Python语法基础之函数
    一天快速入门Python语法基础之用户输入和if while语句
    一天快速入门Python语法基础之字典
    一天快速入门Python语法基础之操作列表
    应用Maven管理SringMvc+MyBaties登录功能的实现
    在eclipse中使用Maven以及HelloWorld的实现
    C++和Java实现基本的选择排序和常见错误
    Maven的安装和配置以及HelloWorld的实现
    POJ--3311--Hie with the Pie(暴力枚举+floyd)/(状态压缩DP+floyd)
  • 原文地址:https://www.cnblogs.com/heshun/p/12354736.html
Copyright © 2011-2022 走看看