VBA基础知识点总结

news2024/12/21 20:22:32

VBA教程
VBScript教程

数据类型

数字数据类型

非数字数据类型

变量&常量

可以通过Dim、Public或Private语句声明变量。
变量语法:Dim <<variable_name>> As <<variable_type>>(需要在使用它们之前声明)
常量语法:Const <<constant_name>> As <<constant_type>> = <<constant_value>>(在VBA中,需要为声明的常量赋值。如果试图改变常量的值,就会抛出一个错误。)
变量/常量命名规则:

  • 变量/常量名称必须使用一个字母作为第一个字符。
  • 变量/常量名称不能使用空格,句点(.),感叹号(!)或字符@,&,$,#。
  • 变量/常量名称的长度不能超过255个字符。
  • 不能使用Visual Basic保留关键字作为变量/常量名称。

运算符

VBA支持以下类型的运算符:

  • 算术运算符
  • 比较运算符
  • 逻辑(或关系)运算符
  • 连接运算符
运算符描述
算术操作符
+两个操作数相加
-两个操作数相减
*两个操作数相乘
/两个操作数相除
%模运算符,整数除法后的余数
^指数运算符
比较运算符
=检查两个操作数的值是否相等。如果是,那么条件是真。
<>检查两个操作数的值是否不相等。如果值不相等,则条件为真。
>检查左操作数的值是否大于右操作数的值。如果是,那么条件是真。
<检查左操作数的值是否小于右操作数的值。如果是,那么条件是真。
>=检查左操作数的值是否大于或等于右操作数的值。 如果是,那么条件是真。
<=检查左操作数的值是否小于或等于右操作数的值。如果是,那么条件是真。
逻辑运算符
AND逻辑AND运算符。如果两个条件都为真,则表达式为真。
OR逻辑OR运算符。如果两个条件中的任何一个为真,则条件为真。
NOT逻辑NOT运算符。用于反转其操作数的逻辑状态。 如果条件成立,那么逻辑非运算符结果是条件不成立。
XOR逻辑排除。它是NOT和OR运算符的组合。如果表达式中只有一个表达式的值为True,则结果为True。
连接操作符
+将两个值添加为变量,其值是数字
&连接两个值

注:连接操作,可用于数字和字符串。输出取决于上下文,如果变量保存数字值或字符串值。

注释

VBA中的注释用两种方法表示,它们分别如下:

  • 任何以单引号(')开头的语句都被视为注释。以下是注释的一个例子。
' This Script is invoked after successful login 
' Written by : Yiibai Yiibai
' Return Value : True / False
  • 任何以关键字"REM"开头的语句。以下是注释的一个例子。
REM This Script is written to Validate the Entered Input 
REM Modified by  : Yiibai Yiibai /user2

消息框(MsgBox)

MsgBox函数显示一个消息框,并等待用户点击一个按钮,然后根据用户点击的按钮执行相关的操作。
语法:MsgBox(prompt[,buttons][,title][,helpfile,context])
参数说明:

  • prompt - 必需的参数。在对话框中显示为消息的字符串。提示的最大长度大约为1024个字符。 如果消息扩展为多行,则可以使用每行之间的回车符(Chr(13))或换行符(Chr(10))来分隔行。
  • buttons - 可选参数。一个数字表达式,指定要显示的按钮的类型,要使用的图标样式,默认按钮的标识以及消息框的形式。如果留空,则按钮的默认值为0。
  • title - 可选参数。 显示在对话框的标题栏中的字符串表达式。 如果标题留空,应用程序名称将被放置在标题栏中。
  • helpfile - 可选参数。一个字符串表达式,标识用于为对话框提供上下文相关帮助的帮助文件。
  • Context - 可选参数。一个数字表达式,用于标识由帮助作者分配给相应帮助主题的帮助上下文编号。 如果提供上下文,则还必须提供helpfile。

【Buttons参数】的含义说明如下:

上述值在逻辑上分为四组:第一组 (0至5) 指示要在消息框中显示的按钮。第二组 (16,32,48,64) 描述要显示的图标的样式,第三组 (0,256,512,768) 指示哪个按钮必须是默认的,第四组 (0,4096) 确定消息框的形式。

【返回值】的含义说明如下:

常数描述
vbOK1单击了“确定”按钮
vbCancel2单击了“取消”按钮
vbAbort3单击了“终止”按钮
vbRetry4单击了“重试”按钮
vbIgnore5单击了“忽略”按钮
vbYes6单击了“是”按钮
vbNo7单击了“否”按钮

VBA输入框(InputBox)

InputBox函数提示用户输入值。当输入值后,如果用户单击确定 按钮或按下键盘上的ENTER 键,InputBox函数将返回文本框中的文本。如果用户单击“取消” 按钮,该函数将返回一个空字符串(“”)。
语法:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
参数说明:

  • Prompt - 必需的参数。 在对话框中显示为消息的字符串。提示的最大长度大约为1024个字符。 如果消息扩展为多行,则可以使用每行之间的回车符(Chr(13))或换行符(Chr(10))来分隔行。
  • title - 一个可选参数。显示在对话框的标题栏中的字符串表达式。如果标题留空,应用程序名称将被放置在标题栏中。
  • default - 一个可选参数。用户希望显示的文本框中的默认文本。
  • xpos - 一个可选参数。X轴的位置表示水平从屏幕左侧的提示距离。 如果留空,则输入框水平居中。
  • ypos - 一个可选参数。Y轴的位置表示竖直方向从屏幕左侧的提示距离。如果留空,则输入框垂直居中。
  • helpfile - 一个可选参数。一个字符串表达式,标识用于为对话框提供上下文相关帮助的帮助文件。
  • context - 一个可选参数。一个数字表达式,用于标识由帮助作者分配给相应帮助主题的帮助上下文编号。如果提供上下文,则还必须提供helpfile。

VBA决策&VBA循环

VBA提供了以下类型的决策声明:

VBA提供以下类型的循环来处理循环需求:
在这里插入图片描述

VBA字符串

字符串函数:

VBA日期时间函数

日期函数:

时间函数:
在这里插入图片描述

VBA数组

数组声明的方式与声明变量相同,只是数组变量的声明使用括号。

在VBA中,使用Dim语句声明数组。

  • 方法一:定义的时候就指定了数组的元素个数
    Dim arr1(5) arr1(5)表示一个一维数组,它有6个元素。
  • 方法二:先定义再赋值
Dim arr3
arr3 = Array("apple","Orange","Grapes")

VBA默认数组下标索引值以0为基数。如果想要声明的数组下标以1为基数,那么应该在模块开头放置下面的语句:Option Base 1

数组不仅限于一个维度,但它们最多可以有60个维度。 二维数组是最常用的数组。
一个多维数组被声明为3行4列:Dim arr(2,3)

数组方法:

子程序和函数程序

子程序:

  • 是一系列的语句,被封装在 Sub 和 End Sub 语句内
  • 可执行某些操作,但不会返回值
  • 可带有参数
Sub mysub()
some statements
End Sub

或者

Sub mysub(argument1,argument2)
some statements
End Sub

函数程序:

  • 是一系列的语句,被封装在Function和End Function语句内
  • 可执行某些操作,并会返回值
  • 可带有通过程序调用来向其传递的参数。
  • 如果没有参数,必须带有空的圆括号 ()
  • 通过向函数程序名赋值的方式,可使其返回值
Function myfunction()
some statements
myfunction=some value
End Function

或者

Function myfunction(argument1,argument2)
some statements
myfunction=some value
End Function

当调用程序时,可以使用 Call 语句:Call MyProc(argument)
或者,可以省略 Call 语句:MyProc argument

窗体

窗体的主要属性:

属值名属性值说明
Name字符串用于设置窗体的名称,中英文均可,默认名称为Forml
Caption字符串用于设置窗体标题栏中显示的文本,默认标题为Forml
Height数值用于指定窗体的高度
Width数值用于指定窗体的宽度
Left数值用于确定窗体左上角的坐标位置,即窗体左上角离屏幕左边的距离
Top数值用于确定窗体左上角的坐标位置,即窗体左上角离屏幕顶边的距离
Enabled逻辑值用于决定是否允许操作窗体,True:允许;False:禁止
Visible逻辑值用于决定程序运行时窗体是否可见,True:可见;False:不可见
FontName字符串用于设置窗体或对象上文本的字体
FontSize整数用于设置窗体或对象上文本字体的大小,单位为磅,范围1~2160
FontBold逻辑值该属性值为True时用于设置窗体或对象上显示的文本为粗体
Fontltalic逻辑值该属性值为True时用于设置窗体或对象上显示的文本为斜体
FontStriket逻辑值该属性值为True时用于给窗体或对象上显示的文本加一删除线
FontUnderline逻辑值该属性值为True时用于给窗体或对象上显示的文本加一下划线
MaxButton逻辑值用于设置窗体右上角的最大化按钮,True:有;False:无
MinButton逻辑值用于设置窗体右上角的最小化按钮,True:有;False:无
ControlBox逻辑值用于设置窗口控制框的状态,True:有;False:无
lcon用于设置窗体最小化时的图标
ForeColor整数用于设置窗体或对象的前景颜色
BackColor整数用于设置窗体或对象的背景颜色
Picture字符串用于设置窗体中要显示的图片

标签

标签(label)主要用于显示一小段文本信息,通常用来标注本身不具有Caption属性的控件,如利用标签给文本框控件附加描述信息等。标签控件的内容只能用Caption属性进行设置或修改,不能直接编辑。

标签的主要属性:

属性名属性值说明
Caption字符串显示在标签上的正文(标题)
Alignment0显示的标题靠左
Alignment1显示的标题靠右
Alignment2显示的标题居中
AutosizeTrue根据显示的标题自动调整大小
AutosizeFalse保持设计时的大小
BorderStyle0标签无边框
BorderStyle1标签有边框(单边框)
BackStyle0标签覆盖背景
BackStyle1标签透明

文本框

文本框(TextBox)为用户提供了一个编辑文本的区域,在此区域中既能够显示又能够编辑文本信息。

标签的常用属性:

属性名属性值说明
Text字符串文本框中显示的文本内容
MaxLength数值用来设置文本框中允许输入的最大字符数。默认值为0,表示没有字符数的限制;如果为非零,此值即为允许输入的最大字符数
MultiLineTrue允许在文本框中输入多行文字
MultiLineFalse文本框中只能输入一行文字
PasswordChar字符串设置口令输入。默认值为空,此时输入的字母按原样显示在文本框中;若为非空字符,则输入字符用该非空字符显示在文本框中
LockedTrue文本框中的文字内容不可编辑
LockedFalse文本框中的文字内容可以编辑
ScrollBars0(默认)文本框没有滚动条
ScrollBars1文本框只有水平滚动条
ScrollBars2文本框只有垂直滚动条
ScrollBars3文本框同时拥有水平和垂直滚动条
SelLength数值文本框中当前选中的字符个数。该属性只能在程序中进行设置和返回
SelStart数值文本框中当前选中的字符中第一个字符的位置。第一个字符的位置为0,该属性只能在程序中进行设置和返回
SelText字符串文本框中当前选中的文字内容。该属性只能在程序中进行设置和返回

命令按钮

命令按钮(Command Button)是Visual Basic 6.0应用程序中最常用的控件,用户可以通过单击命令按钮执行一些操作。主要用于启动或中断一个处理过程。

属性名属性值说明
Caption字符串在按钮上显示的标题信息
Cancel逻辑值该属性被设为True时,按键盘上的Esc键与单击该按钮作用相同。在一个窗体中,只允许有一个命令按钮的Cance1属性设为True
Default逻辑值该属性被设为True时,按回车键与单击该按钮作用相同。在一个窗体中,只允许有一个命令按钮的Default属性设为True
Picture数值Style属性为1,则Picture属性可显示图形文件
Style0按钮上不可显示图形
Style1按钮上可显示图形,也可以显示文字
ToolTipText字符串设置当鼠标在控件上暂停时显示的文本
Value逻辑值True 表示已选择该按钮;False(缺省值)表示没有选择该按钮。如果在代码中设置Value属性值为True激活该按钮的Click事件。该属性在设计时不可用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1844022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

对错问题:凡事没有绝对的对与错,要看义所在、良知所在

孔子说&#xff1a;君子对于天下所发生的很多事&#xff0c;如评判政策变动、战争等&#xff0c;没有绝对的对&#xff0c;也没有绝对的错&#xff0c;一切要看事情本身是否符合“ 义 ”。

[信号与系统]傅里叶变换、卷积定理、和为什么时域的卷积等于频域相乘。

前言 最近学习以下IIR滤波器和FIR滤波器 前置 1. 时域和频域 时域和频域代表着频率和时间与振幅的一一对应关系 2. 卷积运算 关于卷积的定义&#xff0c;详情请看 这篇文章能让你明白卷积 卷积运算是一种数学运算&#xff0c;广泛应用于信号处理、图像处理、控制系统和概…

吴恩达机器学习 第三课 week1 无监督学习算法(上)

目录 01 学习目标 02 无监督学习 03 K-means聚类算法 3.1 K-means聚类算法原理 3.2 k-means算法实现 3.3 利用k-means算法压缩图片 04 总结 01 学习目标 &#xff08;1&#xff09;了解无监督学习算法 &#xff08;2&#xff09;掌握K-means聚类算法实现步骤 &#xff…

AWS-PatchAsgInstance自动化定时ASG组打补丁

问题 需要给AWS的EC2水平自动扩展组AutoScaling Group&#xff08;ASG&#xff09;中的EC2自动定期打补丁。 创建自动化运行IAM角色 找到创建角色入口页面&#xff0c;如下图&#xff1a; 开始创建Systems Manager自动化运行的IAM角色&#xff0c;如下图&#xff1a; 设置…

ppt模版免费下载网站大全

PPT是我们传达信息、分享知识、展示项目和进行商务沟通的重要工具。一个设计精美、布局合理的PPT不仅能吸引观众的注意力&#xff0c;还能有效提升演讲者的专业形象。PPT模版可以帮助我们高效制作出精美的PPT&#xff0c;下面小编就来和大家分享一些免费无需注册登录就可以直接…

WEB自动化测试(selenium工具)框架、面试题

一、什么是web自动化测试 让程序员代替人为去验证web项目功能的过程 二、什么web项目适合自动化测试 1)需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁&#xff0c;测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本&…

图像分割(三)-RGB转HSV后图像分割方法

常用彩色模型有RGB和HSV模型&#xff0c;有时候在RGB颜色空间进行背景分割比较困难的问题&#xff0c;转换为HSV模型然后对色调和饱和度图像进行处理会得到比较理想的处理结果,下面通过一个实例讲解该方法的MATLAB实现&#xff0c;该方法对其他图像检测也具有一定的参考价值。 …

接口测试面试必问题:在Http协议中应用Get和Post接口测试的区别是什么?

在进行接口测试时&#xff0c;我们常常会遇到两种常见的HTTP请求方法&#xff1a;GET和POST。虽然它们都是用来向服务器发送请求&#xff0c;但在使用和测试时有一些区别。本文将从0到1详细介绍GET和POST接口测试的区别&#xff0c;以便在面试时能够回答相关问题。 GET和POST是…

YOLOv10改进 | Conv篇 |YOLOv10引入SPD-Conv卷积

1. SPD-Conv介绍 1.1 摘要:卷积神经网络(CNN)在图像分类和目标检测等许多计算机视觉任务中取得了巨大的成功。 然而,在图像分辨率较低或物体较小的更艰巨的任务中,它们的性能会迅速下降。 在本文中,我们指出,这源于现有 CNN 架构中一个有缺陷但常见的设计,即使用跨步卷…

政策更新记录:敏感信息访问权限与API使用变更

我们将更新“健康数据共享”政策,简化“健康数据共享”申请流程,并与“健康类应用”政策保持一致。此外,我们将于今年晚些时候在 Play 管理中心推出一项新的声明,取代当前使用表单进行申请的方式。 公布日期:2024-04-03 Health Connect 政策要求及常见问题解答 初步认识对…

物联网设备安装相关知识整理

拓扑图 对于ADAM-4150先接设备的整体的供电。 ADAM-4150就涉及到几个电子元器件的连接&#xff0c;一个是485-232的转换器&#xff0c;一个是将RS-232转换为USB的转接口&#xff0c;因为现在的计算机很多都去掉了RS-232接口而使用USB接口。 4150右侧有个拨码&#xff0c;分别两…

互联网技术基础-计算机人必看

目录 1.Internet的工作原理 1、Internet是一个分组交换系统 2、路由器是Internet实现互连的“标准件” 3、TCP/IP是Internet的核心协议 4、客户机/服务器的工作模式 2. IP地址 2.1 IP地址分类 2.2特殊IP地址 2.3路由器和IP编制原则 2.4子网的划分 2.5 IPV6 3.域名系…

嵌入式实验---实验三 定时器实验

一、实验目的 1、掌握STM32F103定时器程序设计流程&#xff1b; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、使用SysTick定时方式控制LED闪烁&#xff1b; 2、使用通用定时器产生PWM脉冲&#xff0c;通过调整占空比实现两个目标&#xff1a; &#xff08;1&#xf…

《C++ Primer》导学系列:第 6 章 - 函数

6.1 函数基础 6.1.1 基本概念 函数是C程序的基本组成单元&#xff0c;用于将代码组织成可以复用的模块。函数通过函数名进行调用&#xff0c;并且可以接受参数和返回值。函数的定义包括函数头和函数体&#xff0c;其中函数头描述了函数的接口&#xff0c;函数体包含了具体的实…

基于SpringBoot+Vue电影推荐系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还…

Python 绘制圆欠采样时的数学图形

Python 绘制圆欠采样时的数学图形 正文end_radian 190end_radian 180end_radian 170end_radian 130end_radian 120 正文 今天在绘制圆形的时候遇到了意外&#xff0c;发现了一个有意思的现象&#xff0c;这里特来记录一下。 end_radian 190 import numpy as np import…

【因果推断python】45_估计量1

目录 问题设置 目标转换 到目前为止&#xff0c;我们已经了解了如何在干预不是随机分配的情况下对我们的数据进行纠偏&#xff0c;这会导致混淆偏差。这有助于我们解决因果推理中的识别问题。换句话说&#xff0c;一旦单位是可交换的&#xff0c;或者 &#xff0c;就可以学习…

H3C防火墙抓包(图形化)

一.报文捕获 &#xff0c;然后通过wireshark查看报文 二.报文示踪 &#xff0c; 输入源目等信息&#xff0c; 查看报文的详情

JavaWeb之JSON、AJAX

JSON 什么是JSON&#xff1a;JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式(JavaScript提供) 特点 [{"name":"周珍珍", "age":18},{"name":"李淑文","age":20}]数据是以键值对形式…

SpingBoot快速入门下

响应HttpServietResponse 介绍 将ResponseBody 加到Controller方法/类上 作用&#xff1a;将方法返回值直接响应&#xff0c;如果返回值是 实体对象/集合&#xff0c;将会自动转JSON格式响应 RestController Controller ResponseBody; 一般响应 统一响应 在实际开发中一般…