VBA语法总结
为了控制Excel,学了些VBA,总结下语法,下文分为五部分:
一、代码组织
二、常用数据类型
三、运算符
四、控制流
五、常用内置函数
一、代码组织
1.能写代码的地方有{模块,类模块}。
2.代码中可以写的成员有{变量和常量,过程和函数}。对成员的访问修饰符有{public,private}
3.写注释的方法有{以单引号开头,以REM开头}。
4.变量和常量声明的格式如下
|
变量 |
Dim <variable> As <type> |
可以不声明,直接赋值使用 |
|
常量 |
Const <cst> as <type> = <value> |
声明时需立即跟等号赋值 |
5.变量赋值的格式是
|
变量名=变量值 |
对普通类型 |
|
Set 变量名=变量值 |
对object 类型 |
6.过程和函数书写的格式是
|
过程 |
Sub 过程名() …… End Sub |
|
函数 |
Function 函数名(一堆变量) …… End Function |
7.VBA是大小写不敏感的,即大写小写都被认为是小写。
8.可以用Debug.Print在立即窗口,及时的打印输出。
9.上面没提到Excel事件,Excel对象模型。下文也没有面向对象的内容,全是基础语法的罗列。
二、常用数据类型
|
1 |
Integer |
整数 |
|
2 |
Double |
小数 |
|
3 |
String |
字符串 |
|
4 |
Array |
数组 |
|
5 |
Dictionary |
字典 |
|
6 |
Boolean |
布尔 |
|
7 |
Date |
日期 |
|
8 |
Object |
对象 |
VBA很直接的把Object当成一种类型,其中的Dictionary就属于Object。
三、运算符
1.算数运算符
|
+ |
加 |
|
- |
减 |
|
* |
乘 |
|
/ |
除 |
|
% |
模 |
|
^ |
幂 |
2.比较运算符
|
= |
等于 |
|
<> |
不等于 |
|
> |
大于 |
|
< |
小于 |
|
>= |
大于等于 |
|
<= |
小于等于 |
3.逻辑运算符
|
And |
且 |
|
Or |
或 |
|
Not |
非 |
|
Xnot |
或非 |
4.连接运算符
|
+ |
连接 |
|
& |
连接 |
四、控制流
|
If……elseif……else分支 |
|
Switch分支 |
|
For循环 |
|
For each循环 |
|
While……Wend循环 |
|
Do While循环 |
|
……………… |
五、常用内置函数
1.特殊类
|
1 |
InputBox |
输入框 |
|
2 |
MsgBox |
消息框 |
|
3 |
Rnd |
随机数 |
|
4 |
Timer |
计时器 |
|
5 |
RGB |
RGB取色 |
2.数组
|
1 |
Lbound,Ubound |
下限,上限 |
3.字符串
|
1 |
Len |
返回长度 |
|
2 |
Join,Split |
拼接和分割 |
|
3 |
Left,Right,Mid |
取子串 |
|
4 |
InStr,InStrRev |
找子串位置 |
|
5 |
Trim,LTrim,RTrim |
去空格 |
|
6 |
Format |
格式化 |
|
7 |
Asc,Chr |
ASC转换 |
|
8 |
LCase,UCase |
大小写转换 |
4.数字
|
1 |
IsNumeric |
类型确认 |
|
2 |
Round,Fix |
四舍五入 |
5.时间与日期
|
1 |
Date,Time,Now |
获取系统时间 |
|
2 |
DateAdd,DateDiff |
日期加减 |
|
3 |
DatePart,Month,Day,Hour |
时间归段 |
VBA语法总结的更多相关文章
- vba 语法
VBA语言基础 第一节 标识符 一.定义 标识符是一种标识变量.常量.过程.函数.类等语言构成单位的符号,利用它可以完成对变量.常量.过程.函数.类等的引用. 二.命名规则 1) 字母打头,由字母.数 ...
- 20150916_001 vba 基础
一.什么是“宏”.“宏”有什么用 关于“宏”的详细定义,可以参考百度百科的解释(点击查看).我给它一个简单的或许不太严谨的定义: 宏的通俗定义:宏是被某些软件所能识别.理解并执行的特定代码/脚本. 宏 ...
- VB execl文件后台代码,基础语法
Excel宏与VBA 程序设计实验指导1 实验1 Excel宏与VBA 语法基础 一.实验目的 1.熟练掌握录制宏.执行宏.加载宏的方法: 2.熟练使用Excel VBA编辑环境,掌握VBA的编辑工具 ...
- Excel VBA基础教程
https://www.w3cschool.cn/excelvba/excelvba-basics.html Excel VBA语言基础 VBA语言的基础认识 详解VBA编程是什么 excel处理录制 ...
- [Office] VBA Practice
1. 使用DateTimePicker控件 VBA中默认的User Form的Toolbox中的控件并不包含DateTimePicker,是接受时间相关数据的输入,在Toolbox上右击“Additi ...
- Excel 使用VBA或宏----简单笔记
一.一种纯粹的录制宏.(未使用此方法,如有兴趣可自学),就是Excel提供了“所见即所得”的方式生成宏.把自己想要的操作记录,录制成宏. 自学网等各种网站有教学视频或文章 二.常用VBA语法及函数笔记 ...
- Excel VBA中写SQL,这些问题的方法你一定要牢记
小爬之前的文章 [Excel VBA中写SQL,这些问题你一定为此头痛过]中详细讲诉了一些常见的VBA 中使用SQL遇到的问题,这里再补充两个常见的问题场景及对应的解决方案,希望你们看了后能够思路开阔 ...
- VBA驱动SAP GUI实现办公自动化(一)
小爬之前写过一系列Python驱动SAP GUI实现办公自动化的文章,其实如果我们的实际业务不是太复杂,且我们对VBA语法比较熟悉的话,我们完全可以借助Excel VBA来驱动SAP GUI做很多自动 ...
- Office·Word高级·VBA基础概念语法
阅文时长 | 5.21分钟 字数统计 | 1823字符 『Office·Word高级·VBA基础概念语法』 编写人 | SCscHero 编写时间 | Monday, June 29, 2020 文章 ...
随机推荐
- maven在Idea建立工程,运行出现Server IPC version 9 cannot communicate with client version 4错误
问题的根源在于,工程当中maven dependencies里面的包,有个hadoop-core的包,版本太低,这样,程序里面所有引用到org.apache.hadoop的地方,都是低版本的,你用的是 ...
- mac 使用笔记日志
telnet安装 安装homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/i ...
- 对于 url encode decode js 和 c# 有差异
在js对一个值进行解码使用:decodeURIComponent,编码使用:encodeURIComponent
- 安防工程商必须知道的PoE供电真相
问题一:何为PoE技术? PoE (Power Over Ethernet)指的是在现有的以太网Cat.5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机.无线局域网接入点AP. ...
- C语言 · 年龄巧合
标题:年龄巧合 小明和他的表弟一起去看电影,有人问他们的年龄.小明说:今年是我们的幸运年啊.我出生年份的四位数字加起来刚好是我的年龄.表弟的也是如此.已知今年是2014年,并且,小明说的年龄指的是周岁 ...
- 在Java路上,我看过的一些书、源码和框架(转)
原文地址:http://www.jianshu.com/p/4a41ee88bd82 物有本末,事有终始,知所先后,则近道矣 面试经历 关于Java面试,你应该准备这些知识点关于Java面试,你应该准 ...
- Swagger UI 与SpringMVC的整合
关于 Swagger Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因: Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API. S ...
- linux下的抓包工具tcpdump
1.由netstat查看网络情况,引出的TCP建立连接.终止连接过程,以及TCP状态分析: 2.Soap=XML+HTTP引出的HTTP协议分析: 3.Soap(Simple Object Acces ...
- mysql按位的索引判断位的值
DELIMITER $$ DROP FUNCTION IF EXISTS `value_of_bit_index`$$/*计算数字的某个位的值*/CREATE FUNCTION `value_of_b ...
- oracle如何通过cmd导出某个用户下的所有表
1:如果要导入的用户下有空表,需要执行下面语句 select 'alter table '||table_name||' allocate extent;' from user_tables wher ...