VBA基础知识点总结

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.mzph.cn/web/30951.shtml

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

相关文章

LVS+Keepalived高可用集群部署

一、高可用群集(HA)的作用 企业应用中&#xff0c;单台服务器承担应用存在单点故障的危险&#xff0c;单点故障一旦发生&#xff0c;企业服务将发生中断&#xff0c;造成极大的危害。 高可用集群是由一台主调度器和一台或多台备用调度器。在主调度器能够正常运转时&#xff0c;…

优选算法刷题笔记 2024.6.10-24.6.20

一、双指针算法(快慢指针,对撞指针) 艹&#xff0c;CSDN吞了我是十三题笔记&#xff01;&#xff01;&#xff01; 二、滑动窗口(滑动窗口) 1、找到字符串中所有字母异位词 class Solution {public List<Integer> findAnagrams(String s, String p) {int[] hash1 new in…

【Python】一文向您详细解析内置装饰器 @lru_cache

【Python】一文向您详细解析内置装饰器 lru_cache 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕&a…

TMS320F280049学习5:CPU timer中断

TMS320F280049学习5&#xff1a;CPU timer中断 文章目录 TMS320F280049学习5&#xff1a;CPU timer中断前言一、工程代码二、CPU timer时钟总结 前言 DSP的内部有3个CPU timer&#xff0c;分别是CUP timer0 / 1 / 2&#xff0c;传说CPU timer2一般在跑系统时用&#xff0c;类似…

网络基础

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 当今的时代是一个网络的时代&#xff0c;网络无处不在。而我们前面学习编写的程序都是单机的&#xff0c;即不能和其他电脑上的程序进行通信。为了实…

新火种AI|英伟达市值超越微软!AI技术如何重塑科技股价值?

作者&#xff1a;一号 编辑&#xff1a;美美 AI&#xff0c;正带着美股狂奔。 2024年&#xff0c;英伟达&#xff08;NVIDIA&#xff09;以其在人工智能&#xff08;AI&#xff09;领域的卓越表现&#xff0c;市值首次超越了科技巨头微软&#xff0c;成为全球市值最高的公司…

车载测试面试项目看这一套就够了!车载测试___自我讲解项目

面试官您好&#xff0c;我叫xx来自安微&#xff0c;今年xx岁&#xff0c;毕业于安微新华学院&#xff0c;我是从2017年开始接触软件测试行业&#xff0c;目前从事软件测试工作有5年多时间&#xff0c;第一家公司做了电商和进销存项目app和web都有做过&#xff0c;上家公司做了车…

C语言变量、指针的内存关系

1. type p ? 表示从内存地址p开始&#xff0c;开辟一段内存&#xff0c;内存大小为类型type规定的字节数&#xff0c;然后把等号右边的值写入到这段内存中。 因此&#xff0c;这块内存起点位置是p&#xff0c;结束是ptype字节数-1。 2. type* p ?表示从内存地址p开始&…

Unity3d 游戏暂停(timeScale=0)引起的deltaTime关联的系列问题解决

问题描述 游戏暂停的功能是通过设置timeScale0实现的&#xff0c;不过在暂停游戏的时候&#xff0c;需要对角色进行预览和设置&#xff0c;为了实现这个功能&#xff0c;是通过鼠标控制相机的操作&#xff0c;为了使相机的操作丝滑&#xff0c;获取鼠标操作系数乘以Time.delta…

Opencv学习项目3——pytesseract

上一次我们使用pytesseract.image_to_data(img)来检测文本&#xff0c;这次我们来只检测数字 项目演示 可以看到&#xff0c;我们只检测了数字其他的并没有检测出来 代码实现 前面两次介绍了opencv的画矩形和设置文本&#xff0c;这次就直接用了&#xff0c;不太明白的可以看…

数据资产与用户体验优化:深入挖掘用户数据,精准分析用户需求与行为,优化产品与服务,提升用户体验与满意度,打造卓越的用户体验,赢得市场认可

一、引言 在数字化时代&#xff0c;数据已经成为企业最宝贵的资产之一。通过深入挖掘和分析用户数据&#xff0c;企业能够精准把握用户需求和行为&#xff0c;从而优化产品与服务&#xff0c;提升用户体验和满意度。这不仅有助于企业在激烈的市场竞争中脱颖而出&#xff0c;还…

Java基础 - 练习(四)打印九九乘法表

Java基础练习 打印九九乘法表&#xff0c;先上代码&#xff1a; public static void multiplicationTable() {for (int i 1; i < 9; i) {for (int j 1; j < i; j) {// \t 跳到下一个TAB位置System.out.print(j "" i "" i * j "\t"…

戏剧之家杂志戏剧之家杂志社戏剧之家编辑部2024年第14期目录

文艺评论 南戏瓯剧跨文化传播研究 陈晓东;高阳;许赛梦; 3-7 论互联网时代的戏剧传播与批评——以西法大剧社和南山剧社为例 邬慧敏; 8-10 “左手荒诞&#xff0c;右手温情”——《西西弗神话》在戏剧《第七天》中的接受探究 赵稳稳; 11-13 戏剧研讨《戏剧之家》投稿…

[SAP ABAP] 数据类型

1.基本数据类型 示例1 默认定义的基本数据类型是CHAR数据类型 输出结果: 示例2 STRING数据类型用于存储任何长度可变的字符串 输出结果: 示例3 DATE数据类型用于存储日期信息&#xff0c;并且可以存储8位数字 输出结果: 提示Tips&#xff1a;日期和时间类型的变量可以直接进…

openh264 帧级码率控制源码分析

openh264 码率控制结构 关于 openh264 码率控制整体结构&#xff0c;可以参考&#xff1a;openh264 码率控制原理框架。 openh264 帧级码率控制介绍 函数关系图&#xff1a;从图可以看出&#xff0c;帧级码控的核心函数就是WelsRcPictureInitGom、WelsRcPictureInfoUpdateGo…

DAB-DETR

论文地址&#xff1a; https://arxiv.org/pdf/2201.12329 文章通过前人的经验得出&#xff0c;导致 DETR 训练速度慢的原因很大可能是因为 decoder 中 cross attention 这个模块&#xff0c;由上面的对比可以看出其与 self attention 的区别主要就在于query的不同。文章猜想两个…

【Python办公自动化之Word】

python办公⾃动化之-Word python-docx库 文章目录 python办公⾃动化之-Word1、安装python-docx库2、⽂档的结构说明3、基本操作语法3.1 打开⽂档3.2加⼊不同等级的标题3.3 添加⽂本3.4 设置字号插曲1&#xff1a;实战演示3.5 设置中⽂字体3.6 设置斜体3.7 设置粗体3.8⾸⾏缩进…

H3C防火墙抓包(图形化)

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

mongodb 集群安装

整体架构图&#xff1a; 1. 配置域名 Server1&#xff1a; OS version: CentOS Linux release 8.5.2111 hostnamectl --static set-hostname mongo01 vi /etc/sysconfig/network # Created by anaconda hostnamemong01 echo "192.168.88.20 mong1 mongo01.com mongo…

返回给前端数据的封装

返回格式如下&#xff1a; { "code": 200/400, "msg": "成功"/"失败", "total": n, "data": [ {}&#xff0c;{}]} 1.在common中新增Result 类&#xff0c;代码如下 package com.xxx0523.common; import lombo…