认识VBA------------------VBA基础

article/2025/11/11 5:24:06

一、前言

        在最近的工作中,有幸了解到VBA相关的知识,它主要是被应用于我们平时所使用的word和Excel中,主要用VBA代码来进行数据处理,在办公领域使用的比较广泛。通过一段时间的学习,总结了一些自己的理解和所学,在此于大家进行分享。

        Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言——–Visual Basic For Application(VBA),实际上VBA是寄生于VB应用程序的版本。微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功能。 

二、编程规则

  • 1.EXCEl的数据类型:日期值、数值、文本、逻辑值、错误值 
  • 2.VBA的数据类型:布尔型、整数型、小数型、字符串型、日期型、对象型,变体型、用户自定义类型(其中对象型需要多多了解),可以了解VBA为弱类型语言 
  • 3.声明变量:Dim 变量名 As 数据类型,可以定义不同的作用域(Public、Private、Static),Option Explicit加上这段代码可以强制声明所有变量 
  • 4.给数据类型的变量赋值:[Let] 变量名 = 要存的数据 (中括号的关键值可以省略) 
  • 5.给对象类型的变量赋值:set 变量名 = 要存储的对象名称
  • 6.可同时生成多个变量 
  • 7.声明常变量
  • 8.声明数组:Dim 数组名 (a to b) As 数据类型,可以声明多维多维数组 
  • 9.可使用变量类型声明符定义变量类型:Dim Str As String 相当于 Dim Str$ 
  • 10.声明变量时不指定变量类型那么这个变量就是变体形

    那么接下来我们就来看一看一些基础的VBA代码:

Sub 测试()Dim arr() As VariantDim brr() As VariantDim i As IntegerDim Length As IntegerDim Longth As IntegerWorksheets("利润表").SelectLength = Range("A1").End(xlDown).RowFor i = 1 To Length Step 1Range("D" & i) = Cells(i+1,"E") + Cells(i+1,"F")NextWorksheets("合计表").SelectLongth = Range("C2").End(xlDown).RowFor i = 1 To Longth Step 1Range("E" & i) = Cells(i,"C") - Cells(i,"D")NextEnd Sub

  VBA中使用Dim来定义变量,一般原型为 Dim 变量 As 数据类型,比如:

Dim arr() As Variant
Dim length As Integer

 通过Dim来定义两个变量,定义一个数组的变量和一个定义长度的变量。它们的数据类型分别为Variant和Integer.

各数据类型所能表示的最大长度:

类型名称            类型                             长度

比特                    Byte                           0到255

                            Integer                       -32768 ---- 32767

                            Long                          -2147483648----2147483647

单精度浮点型    single                         1.401298*10^-45----3.402823*10^38

双精度浮点型    Double                       4.94065645841247*10^-324------1.7969313486232*10^308

日期型                Date                           100年1月1日 ------9999年12月31日

字符串型            不定长                         0---20亿

                            定长                            1到65400

变体型                Variant                        保存任意值

访问某个表格中的单元格,一般的访问路径为:Excel程序--->工作簿---->工作表---->单元格:

 

 

三、运算符

1.算术操作符

+ : 两个操作数相加

- : 两个操作数相减

* : 两个操作数相乘

/ : 两个操作数相除

% : 模运算符,整数除法后的余数

^ : 指数运算符

2.比较运算符

= : 检查两个操作数的值是否相等。如果是,那么条件是真。

<> : 检查两个操作数的值是否不相等。如果值不相等,则条件为真。

> : 检查左操作数的值是否大于右操作数的值。如果是,那么条件是真。

< : 检查左操作数的值是否小于右操作数的值。如果是,那么条件是真。

>= : 检查左操作数的值是否大于或等于右操作数的值。 如果是,那么条件是真。

<= : 检查左操作数的值是否小于或等于右操作数的值。如果是,那么条件是真。

3.逻辑运算符

AND : 两个条件都为真,则表达式为真。

OR : 如果两个条件中的任何一个为真,则条件为真。

NOT : 用于反转其操作数的逻辑状态。 如果条件成立,那么逻辑非运算符结果是条件不成立。

XOR : 如果表达式中只有一个表达式的值为True,则结果为True。

4.连接操作符

& : 连接两个值

1 & 2 = 12

"1" & "2" = 12

+ : 将两个值添加为变量,其值是数字

1 + 2 = 3

"1" + "2" = 12

四、基础代码认识

1.VBA对单元格的操作1.获取单元格的值Sub alert()'A1 = Sheets(1).[a1]    '获取第一个工作表(表名为工作表1)中A1的值赋值给X'A1 = Sheets("工作表1").[a1]'A1 = Sheets(1).Cells(1, 1)'A1 = Sheets("工作表1").Cells(1, 1)A1Range("A1").Value    '获取当前工作表A1的值MsgBox (A1)   '弹出对话框End Sub1.单元格赋值Sub setVal()Range("A1").Value = 100   '点击VBAProject窗口的'运行子过程'End Sub2.设置单元格的填充色Sub setColor()Range("B3").Interior.ColorIndex = 3   '值有1-56,代表56种颜色End Sub3.单元格的复制、粘贴Sub cut()Range("B3").copy Range("C3")   '将B3的值,复制到C3单元格End Sub4.单元格的剪切Sub cut()Range("A1").cut Range("B3")  '将A1的值,剪切到B3单元格End Sub2.条件判断结构if then 语句Sub if_test()B3 = Range("B3").ValueIf B3 > 10 ThenMsgBox ("大于10")    '弹出字符串时,必须为双引号ElseIf B3 < 10 ThenMsgBox ("小于10")ElseMsgBox ("aaaa")End IfMsgBox (B3)End Sub
3.选择判断结构Select Case 语句Sub select_test()B3 = Range("B3").ValueSelect Case B3Case 1 To 10msg = "1到10之间"Case 11 To 20msg = "11到20之间"Case 21, 22msg = "21,22的值"Case Elsemsg = "其他的值"End SelectMsgBox (msg)End Sub
4.循环结构for next 语句Sub for_test()For i = 1 To 10 Step 1If i > 5 Then    Exit For    '跳出for循环End IfRange("D" & i).Value = i    '循环赋值给D1-D10Next iEnd Subfor each 语句:用于为数组或集合中的每个元素Sub for_ecah_test()fruits = Array("苹果", "香蕉", "雪梨")For Each Item In fruitsMsgBox (Item)NextEnd Subdo  while  loop Sub do_while_loop_test()Do While i < 5    '在循环开始时,判断条件是否符合If i > 3 ThenMsgBox ("跳出循环")Exit DoEnd Ifi = i + 1MsgBox ("The value of i is : " & i)LoopEnd SubSub do_while_loop_test()Do If i > 3 ThenMsgBox ("跳出循环")Exit DoEnd Ifi = i + 1MsgBox ("The value of i is : " & i)Loop While i < 5    '在循环结束时,判断条件是否符合End Sub

 

 


http://chatgpt.dhexx.cn/article/oOrUSnuZ.shtml

相关文章

vba set语句_零基础学VBA编程06:什么是变量?

每天一篇原创Excel图文 微信公众号&#xff1a;Excel星球 NO.81-什么是变量&#xff1f; 作者&#xff1a;看见星光 微博&#xff1a;EXCELers / 知识星球&#xff1a;Excel 哈罗&#xff0c;大家好&#xff0c;我是星光&#xff0c;今天给大家聊一下编程中一个非常重要的概念—…

Excel VBA使用总结

Excel VBA 1.入门1.1开启VBA之旅 2.语法2.1清除单元格内容2.2vba设密码2.3以前的代码2.4使用正则2.5使用stack 都说世界上最好的语言就是PPT,工作报告&#xff0c;年度总结。。。。 到处都有它的身影&#xff0c;更是被高手设计的惟妙惟肖。 今天&#xff0c;我们不争第一&…

VBA录制宏知识整理

XIWENJIE_VBA基础简介之录制宏 A.录制宏的使用 一、什么是宏 VBA是 [Visual Basic](https://baike.baidu.com/item/Visual Basic)的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是[Microsoft Office](…

excel VBA编程入门,自定义excel数据库模板生成sql语句

文章目录 VBA基础一.了解VBA1.进入vba2.认识宏 二. VBA编程1.hello world2.调出立即窗口和本地窗口3.debug显示4.注释5.数据类型5.变量的生命周期和定义域6.判断语句7.不等于<> , switch case 条件判断8.循环do while退出循环的语句 exit for退出循环的语句 exit do 9.数…

Excel Vba编程初探一

【场景】对EXCEL表格批量添加公式 【分析】 1、如何给单元格写值/公式 2、公式如何带变量 【Excel设置】 【实现】 0&#xff09;代码书写的地方 1&#xff09;代码 Sheet1被激活时触发 Private Sub Worksheet_Activate() Call SetFormula Call TestSetA1ToA10 End Sub函…

二 详解VBA编程是什么

详解VBA编程是什么 直到 90 年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化…

CSS入门(二)

CSS入门&#xff08;一&#xff09; https://blog.csdn.net/Veer_c/article/details/103882856 CSS文本属性和值&#xff1a; <style type"text/css"> div{/*设置字符间距*/letter-spacing:4px;/*设置文本的位置*/text-align:center;/*给文本设置上划/下划/中…

【前端学习】CSS入门

前端学习&#xff1a;CSS入门 文章目录 前端学习&#xff1a;CSS入门前言1、class011.我的第一个CSS2.导入方式3.基本选择器(1)ID选择器(2)标签选择器(3)类选择器 4.层次选择器5.结构伪类选择器6.属性选择器 2、class021.span/div2.字体样式3.文本样式4.超链接伪类5.列表 3、cl…

CSS入门必备基础(适合小白)

CSS入门必备基础&#xff08;适合小白&#xff09; 一、CSS是什么&#xff1f;1、什么是CSS&#xff1f;2、CSS有什么作用&#xff1f; 二、CSS核心基础1、CSS样式规则2、引入CSS的方法1)、行内式2)、内嵌式3)、链入式 2、CSS选择器1)、基础选择器2)、后代选择器3)、并集选择器…

网页搭建入门---CSS入门

目录 CSS基础语法 CSS选择器 选择器 基于关系的选择器 伪类 伪元素 优先级别 CSS样式 背景 文本 ​ 字体 链接 列表 表格 ​ CSS布局 CSS盒子模型 边框 内边距 外边距 CSS基础语法 为什么要使用CSS 样式定义如何显示HTML元素是为了解决内容与表现分离的问…

postcss入门

无需安装任何环境&#xff0c;即可在线体验未来的css生态系统。 一、什么是postcss 一个用 JavaScript 工具和插件转换 CSS 代码的工具&#xff0c;一套css的生态系统&#xff0c;通过组合插件的形式让我们更舒适的编写css。 二、它能做什么&#xff1f; 1.增强代码兼容性 …

CSS基础入门(详细总结笔记)

目录 1、CSS介绍 2、CSS引入方式 2.1、行内样式 2.2、内联样式 2.3、外联样式 2.4、样式的优先级 2.5、样式选择 3、CSS选择器 3.1、基本选择器 3.2、属性选择器 3.3、层级选择器 3.4、组合选择器 3.5、伪类选择器 3.6、通配符 3.7、选择器优先级 4、CSS盒子模…

CSS入门。(仅供参考)

文档出处部分Coogle和《原创》&#xff0c;如有雷同纯属巧合 《仅供参考》 首先说明以下内容是本人自己整理&#xff08;仅供参考&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 首先浏览器我建议使用Googl…

零基础CSS入门教程(17)–表格样式

点此查看 所有教程、项目、源码导航 本文目录 1. 题外话2. 前言3. HTML表格边框4. CSS设定表格边框5. 设定列边框6. 折叠边框7. 表格尺寸8. 表格内边距9. 表格背景色10. 小结 1. 题外话 不知不觉&#xff0c;写到第40篇了。 可能已经是我写过的最长的系列文章了&#xff0c;虽…

一套完整的CSS入门教程

最近花了点时间&#xff0c;整理了一下之前的CSS博客文章&#xff0c;完成了这个CSS教程。也为我的个人网站&#xff0c;增加了一个教程模块。教程模块地址&#xff1a;请点击这里。教程地址&#xff1a;请点击这里。 该教程是一套完整的CSS入门教程&#xff0c;看了绝对不会…

CSS入门基础详解——笔记、案例

CSS入门学习 一、CSS简介 1、什么是css css:层叠样式表(英文全称&#xff1a;Cascading Style Sheets)是一种用来表现HTML&#xff08;标准通用标记语言的一个应用&#xff09;或XML&#xff08;标准通用标记语言的一个子集&#xff09;等文件样式的计算机语言。 2、CSS的作…

CSS入门 练习

CSS入门 练习 CSS练习1 -- 画三角形CSS练习2 -- 画太极 CSS练习1 – 画三角形 代码&#xff1a; <!doctype html> <html> <head> <meta charset"utf-8"> <title>无标题文档</title> <style type"text/css"> #…

头歌-CSS入门

目录 CSS从入门到精通-文本与字体样式 第1关 字体颜色、类型与大小 第2关 字体粗细与风格 第3关 文本装饰与文本布局 CSS从入门到精通-背景样式 第1关 背景颜色 第2关 背景图片 第3关 背景定位与背景关联 CSS从入门到精通-基础选择器 第1关 CSS 元素选择器 第2关 CSS…

CSS入门到精通——表格样式

第1关&#xff1a;表格边框 任务描述 本关任务&#xff1a;在本关中&#xff0c;我们将学习如何使用CSS设置表格样式&#xff0c;使表格更好看。本关任务完成之后的效果图(index.html)如下&#xff1a; 相关知识 为了完成本关任务&#xff0c;请大家认真阅读以下内容。 在之…

Tailwind CSS 入门和实践

作者&#xff1a;康曾璐 背景 Tailwind 是一个基于 Atomic/Utility-First 规范 CSS 框架&#xff0c;提供了基础的工具类 utility classes&#xff08;如&#xff1a;内边距 padding、字体 text 和 font、动画 transition 等预设类&#xff09;&#xff0c;能直接在脚本标记语…