阅文时长 | 5.21分钟 字数统计 | 1823字符
『Office·Word高级·VBA基础概念语法』
编写人 | SCscHero 编写时间 | Monday, June 29, 2020
文章类型 | 系列 完成度 | 待完善
座右铭 每一个伟大的事业,都有一个微不足道的开始。Hello World!

常量与变量                                              完成度:80%

基础概念

  • 宏方法定义指令:
Sub [宏方法名称]()
[内容]
End Sub
  • 自定义函数定义指令:
Function [自定义函数名称](参数A,...) As [返回值数据类型]
[自定义函数内容]
End Function

  • 使用Dim关键字声明变量,可以直接指定数据类型,也可在后面赋值中根据值类型自动赋予数据类型。
  • 变量是命名的存储位置,包含在程序执行阶段修改的数据。
  • 变量有变量名,在其范围内唯一。变量名必须以字符或下划线开头,不能超过255个字符,而且中间不能包含句点或类型声明字符。
  • 变量若是对象,不可与方法名重复。
  • 对变量赋值,可以直接赋值,若是对象,需要使用Set关键字进行赋值,并指定类型。

  • 使用关键字Const声明,也可以直接赋值,省略Const。

  • VBA中使用'符号标明注释,之后该行的代码将被编译器忽略

  • 使用模态窗口,MsgBox [变量]指令,F5运行执行方法,即可弹出
  • 使用立即窗口,Debug.Print [变量]指令输出

语法

'声明常量关键字Const
Const pi = 3.1415926
'弹出模态窗口调试
MsgBox pi * 4 '消息框
'声明变量x和y,也可以使用Dim x,y批量声明
Dim x
Dim y
x = 10
y = 20
'声明一个Range数据类型的变量ran
Dim ran As Range
'弹出x+y的值
MsgBox x + y

常见数据类型

  • 变量的特性,用来决定可保存何种数据。数据类型包括:

    • Byte字节
    • Boolean布尔型
    • Integer(%)整数型
    • Long(&)长整型
    • Currency(@)货币型
    • Single(!)单精度浮点型
    • Double(#)双精度浮点型
    • Object对象

常见Q&A

将变量声明为指定数据类型,好处是什么?【答】对象可有成员提示,并可以节省内存空间

条件判断语句                                            完成度:80%

IF

IF语句是许多编程语言中最常用的条件判断语句,语法如下:

  • 单重判定的单行和多行写法
Sub 单重判定的单行和多行写法()
If 99 >= 88 Then MsgBox "恭喜": MsgBox "不恭喜"
If 99 >= 88 Then
MsgBox "恭喜"
MsgBox "不恭喜"
End If
End
End Sub
  • 多重判定(块写法)
Sub 多重条件判断·块写法()
If 99 >= 88 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If
End
End Sub
  • 多条件写法
Sub IF多条件写法()
Dim o As Byte
o = InputBox("请输入你的年龄")
If o >= 60 Then
MsgBox "老年"
ElseIf o > 30 Then
MsgBox "中年"
ElseIf o >= 6 Then
MsgBox "少年"
End If
End
End Sub

Select Case

Select Case语句类似于其他编程语言中的Switch,语法如下:

Sub SelectCase()
Select Case 81
'Is代替81这个值
Case Is >= 80
MsgBox "合格"
Case Else
MsgBox "不合格"
End Select End Sub

循环语句                                                完成度:80%

For

For语法如下:

Sub For()
Dim icount As Integer '设置一个循环变量
'To后面的10表示icount到达10后停止循环;Step后面的2表示步长,即icount变量每次+2进行判断,步长可省略,默认为1
For icount = 1 To 10 Step 2
Next icount
End Sub``` ## For Each For Each常用于遍历集合对象,语法如下:
```basic
Sub ForEach()
'声明一个Range对象(Range对象不清楚的可以去微软官方资料查下,不懂也没关系)
Dim c As Range
For Each c In Selection.Characters
MsgBox c.Text
Next c
End Sub

Do Loop

Do Loop循环,类似于其他编程语言中的Do While,即先执行一次后在判断是否满足退出循环条件,也可以无限循环。Do Loop中有两个关键字来终止循环,Union和While,Union即当满足表达式条件,终止循环;While即当满足表达式条件,继续循环。

Sub doLoop语法()
n = 5
Do
n = n + 1
MsgBox n
Loop Until n = 10
'使用Union指令,当满足表达式条件,退出Do Loop循环
'或使用While指令,当条件成立时,循环
End Sub

如果有帮助到你,请点个赞哦。如果有什么问题,请评论,一起探讨一下。共同进步!如有什么需要与作者联系的,直接私信SCscHero即可。

Office·Word高级·VBA基础概念语法的更多相关文章

  1. Java基础概念语法

    Java基础概念语法 注释 单行注释 //行注释说明 多行注释 /* 多行注释说明 */ 文档注释 /** *@author 程序的作者 *@version 源文件的版本 *@param 方法的参数说 ...

  2. XWPFDocument创建和读取Office Word文档基础篇(一)

    注:有不正确的地方还望大神能够指出,抱拳了 老铁!   参考API:http://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFDo ...

  3. java 使用 POI 操作 XWPFDocumen 创建和读取 Office Word 文档基础篇

    注:有不正确的地方还望大神能够指出,抱拳了 老铁! 参考 API:http://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFDoc ...

  4. VBA基础概念

    一:VBA对象 'VBA对象 'VBA中的对象其实就是我们操作的具有方法.属性的excel中支持的对象 'Excel中的几个常用对象表示方法 '1.工作簿 ' Workbooks 代表工作簿集合,所有 ...

  5. Office WORD如何关闭自动检查语法

    只要把打钩的地方全部去掉即可.

  6. excel的宏与VBA入门(一)——基础概念

    一.概述 "记录宏"其实就是将工作的一系列操作结果录制下来,并命名存储(相当于VB中一个子程序). 宏其实就是VBA写的,但是可以通过录制的方法制作宏,做好的宏你可以查看相应的VB ...

  7. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  8. JavaWeb开发技术基础概念回顾篇

    JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...

  9. JavaScript--我发现,原来你是这样的JS(基础概念--躯壳,不妨从中文角度看js)

    介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第二篇(基础概念--躯壳篇),有着部分第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的, ...

随机推荐

  1. cadence Virtuoso ADE原理图AnalogLib库中的switch使用

    Symbol: switch A,B:等效于一个电阻; C,D:等效于控制开关(CD间的控制电压控制AB的断开或闭合); open switch resistance:开关断开状态下的等效电阻(AB之 ...

  2. 阿里二面,面试官居然把 TCP 三次握手问的这么细致

    TCP 的三次握手和四次挥手,可以说是老生常谈的经典问题了,通常也作为各大公司常见的面试考题,具有一定的水平区分度.看似是简单的面试问题,如果你的回答不符合面试官期待的水准,有可能就直接凉凉了. 本文 ...

  3. 【Spring Cloud & Alibaba全栈开源项目实战】:SpringBoot整合ELK实现分布式登录日志收集和统计

    一. 前言 其实早前就想计划出这篇文章,但是最近主要精力在完善微服务.系统权限设计.微信小程序和管理前端的功能,不过好在有群里小伙伴的一起帮忙反馈问题,基础版的功能已经差不多,也在此谢过,希望今后大家 ...

  4. BST(二叉搜索树)的基本操作

    BST(二叉搜索树) 首先,我们定义树的数据结构如下: public class TreeNode { int val; TreeNode left; TreeNode right; public T ...

  5. Shell prompt(PS1) 与 Carriage Return(CR) 的关系?-- Shell十三问<第二问>

    Shell prompt(PS1) 与 Carriage Return(CR) 的关系?-- Shell十三问<第二问> 当你成功登录进一个文字界面之后,大部份情形下,你会在荧幕上看到一个 ...

  6. ss 命令简介

    1. 简介 ss 使用 netlink 与内核 tcp_diag 模块通信获取 socket 信息,用法和输出结果类似于 netstat 命令 语法格式如下 ss [options] [ FILTER ...

  7. OO_Unit2_Summary

    经过三周的自己电梯瞎设计,下次坐电梯想我想的可能就不是如何优化调度算法,而是千万别把自己死锁在电梯里了(手动狗头) 一.设计策略 1. 需求分析: 作业一:单部多线程可稍带电梯,一部电梯,固定楼层,不 ...

  8. windows2003安装php ,mysql,fastgui

    在上一章中,windows2003的iis搭建已经完成,但是我们现在用的多的也包含php,该如何让Windows2003成功使用php文件呢? windows2003需要先行安装vc9运行库才能与fa ...

  9. SwiftUI 简明教程之文本与图片

    本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容. Eul 是一款 SwiftUI & Combine 教程类 App(iOS.macOS),以文章(文字.图片 ...

  10. JMeter线程组编辑区揭秘

    线程组编辑区如下: 有点复杂,但是慢慢看下来,还是比较容易理解. Name 带有业务含义的名字. Comments 线程组的备注说明. Action to be taken after a Sampl ...