当前位置: 首页 > news >正文

VBA -- 学习Day2

入门
格式:

Sub 第一个宏程序()


End Sub

其中 第一个宏程序 : 宏程序名称;Sub:子程序;End Sub:子程序结尾

注:1. sub 宏程序名称,按下Enter => 自动补全() ,Sub自动大写,自动补全End Sub

       2. 光标放在待执行的宏程序内部再执行 就不用选 要执行的是哪个宏程序

       3. 单个模块可以编写多个宏程序

       4. 选中多行,设置注释块 => 即可设置多行注释

       5. &表示连接字符串;Range 表示单元格,通过.Value 获取单元格对应的数值
 

缩进:

Tab键 缩进

Shift+Tab键 减少缩进

立即窗口:

位置:视图 => 立即窗口
在立即窗口中 call 宏程序名称 或 直接写宏程序名称 都可以运行宏程序

使用变量:
Dim 声明变量 As 明确数据类型

日期&字符串:

VBA中对于日期类型要使用#包裹起来
                  字符串类型使用" "包裹

常见数据类型:

                      Integer(数据范围:-32768~32767)
                      Long(数据范围:-2147483648~2147483647)
                      Double
                      Date
                      Boolean
                      String

类型转换:

隐式类型转换:如果存储的数据的类型和我们设置的变量的数据类型不一致,首先会尝试隐式类型转换,(它会转换成设置的变量的数据类型),然后把转换之后的结果存储到内存空间中;转换不成功,就会报错

变量默认值:

整数、小数两个类型,变量默认值:0
字符串类型,变量默认值:""
布尔类型,变量默认值:False
日期类型,变量默认值:0:00:00


强制变量声明:

变量在使用时一定要先声明,然后才能使用
要想让未声明的变量报错,并且定位,我们可以在最上方写入Option Explicit

多变量声明:

Dim Name As String

Dim Age As Integer

Dim HireDate As Date

Dim Score As Double

=> Dim Name As String,Age As Integer,HireDate As Date,Score As Double

可变数据类型:

当我们不指定一个变量的数据类型的时候,那他就相当于可变数据类型

如果不写任何的数据类型,那就相当于默认会加上As Variant

变量作用域:

1. 在一个子程序里,可以调用另一个子程序 => call 子程序名称

2. 过程级变量:子程序内使用Dim声明的变量,只在所在的子程序中有效;超出子程序范围,变量所占据的内存空间就会释放

    模块级变量:子程序外使用Dim声明的变量,在模块内的所有的子程序中都有效;超出子程序范围,变量所占据的内存空间不会释放

    公共级变量:Dim 改 Public ,在子程序外使用Public生命的变量,对所有项目的所有模块中的子程序都有效

    静态变量:子程序内使用Static声明的变量,只在声明的子程序内有效;即使子程序执行完毕之后,变量占据的内存空间不会释放,特点是只在第一次赋值,后续调用时,保持之前的值;且一旦超出子程序范围,变量所占据的内存空间不会释放

http://www.xdnf.cn/news/343765.html

相关文章:

  • Linux常用命令34——uname显示系统内核信息
  • P2415 集合求和 详解
  • idea出现tomcat不能正确部署的问题--解决方案2
  • 前端面试每日三题 - Day 28
  • OpenCV CPU性能优化
  • 【文档智能】开源的阅读顺序(Layoutreader)模型使用指南
  • 可变参数包 和 lambda表达式
  • 代码简洁之道
  • 公链钱包开发:技术逻辑与产品设计实践
  • 21、魔法传送阵——React 19 文件上传优化
  • 【Dv3Admin】Git 子模块在 Dv3admin 插件项目统一管理实践
  • SpringBoot的自动配置功能-笔记
  • 智能边缘计算系统:基于Python的创新应用
  • python3连接数据库工具类之Oracle
  • Day19 常见的特征筛选算法
  • 零拷贝的简单复习
  • Python变量作用域
  • C PRIMER PLUS——第6-2节:二维数组与多维数组
  • nginx 实现动静分离
  • 火影bug,未保证短时间数据一致性,拿这个例子讲一下Redis
  • Android Studio Gradle 中 只显示 Tasks 中没有 build 选项解决办法
  • 【Science Advances】北京邮电大学突破:基于MEMS-超表面的多阶涡旋光束高速切换技术
  • 缓冲区溢出分析
  • Java网络编程:深入剖析UDP数据报的奥秘与实践
  • WordPress插件depicter存在SQL注入漏洞(CVE-2025-2011)
  • Nginx 配置多个监听端口
  • 文件包含漏洞
  • 【JavaEE】TCP/IP协议(模型)
  • 使用ESPHome烧录固件到ESP32-C3并接入HomeAssistant
  • 森林生态学研究深度解析:R语言入门、生物多样性分析、机器学习建模与群落稳定性评估