当前位置: 首页 > news >正文

VBA-Excel

VBA

一、数据类型与变量

  1. 常用数据类型:

    • Byte:字节型,0~255。
    • Integer:整数型,用于存储整数值,范围 -32768 到 32767。
    • Long:长整型,可存储更大范围的整数,范围 -2147483648 到 2147483647。
    • Double:双精度浮点数,用于表示带有小数的数值,精度较高。
    • String:字符串型,存储文本信息,用双引号括起来,如 “Hello World”。
    • Boolean:布尔型,只有 True 和 False 两个值,常用于条件判断。
    • Variant: 任意类型
      在这里插入图片描述
  2. 变量声明:

    • 使用 Dim 关键字,如 Dim num As Integer,声明一个名为 num 的整数型变量。也可以在一行声明多个变量,如 Dim a As String, b As Double

二、控制语句与运算符

  • 运算符与Java类似,只有几个特殊的
算数运算符
2^3 2的3次方

' 求商整数
5\2 = 2

'相除取余Mod
12 Mod 9 = 3


比较运算符
'比较两个对象是否相同
对象1 Is 对象2 

'Like 比较两个字符串是否匹配
' 通配符 
* 任意多个字符
? 任意单个字符
# 任意单个数组

[charlist] 位于charlist的任意一个字符
[!charlist]


文本运算符
+ 拼接字符串
& 合并字符串


逻辑运算符
And Or Not 

Xor 异或
Eqv 等价
Imp 蕴含

执行顺序
算数 比较 逻辑

  • If 语句
If 条件 Then
    如果是
Else
    否则
End If ` 结束
  • For循环
For i = start To end
    ` 循环部分
Next i
  • Select Case
Select Case 值 

    Case is 条件1
    Case is 条件2
	...
	Case Else ` 以上没有匹配

End Select
  • 遍历集合
For Each 变量 in 集合名称

Next 变量
  • DoWhile循环
Do While 循环条件

' 跳出循环
exit do


Loop
Do

Loop While 循环条件

三、子程序和函数

  1. 子程序(Sub)
    定义与作用:子程序是一段完成特定任务的代码块,不返回值。通常用于执行一系列操作。
Sub 子程序名称([参数列表])

End Sub
  1. 函数(Function)
    定义与作用:函数用于执行特定计算并返回一个值。可以在公式、条件判断等地方调用函数。
Function 函数名称([参数列表]) As 返回值类型
    函数名称 = 返回值
End Function
  1. 内置函数
函数名称功能描述
IsNumeric判断参数中数据是否为数字
IsDate判断参数中数据是否为日期
IsEmpty判断参数中数据是否为 Empty(空)
IsArray判断参数是否为数组
IsError判断参数是否为错误值
IsNull判断参数是否不包含任何有效数据
IsObject判断参数是否为一个对象
Int返回小于或等于参数的第一个整数
Fix返回参数的整数部分
Round返回四舍五入的值
Sqr返回数值的平方根
Abs返回数值的绝对值
Rnd生成 0 - 1 之间的随机数
  1. 文本函数
函数名称功能描述
Len求参数中数据包含的字符个数
LeftRightMid分别用于截取最左侧、最右侧、从任意位置开始的指定数量的字符
LtrimRtrimTrim分别用于去掉最左端、最右端、左右两端多余的空格
UcaseLcase分别将英文字母转换为大写、小写
InStr查找指定字符串在另一个字符串中的位置
Replace将字符串中某个位置的部分字符串替换为新字符
Format对参数指定的数据进行格式化
  1. 时间日期函数
函数名称功能描述
NowDateTime返回执行该函数时计算机的系统日期、时间数据
Timer返回从凌晨 0 时到执行该函数时经过的秒数
DateSerial返回参数指定年、月、日组成的日期数据
YearMonthDay返回参数指定日期中的年、月、日信息
TimeSerial返回参数指定时、分、秒组成的时间数据
HourMinuteSecond返回参数指定时间中的时、分、秒信息
Format将具有日期数据外观的字符串转为日期数据
DateValue将具有时间数据外观的字符串转为时间数据
DateDiff求两个日期的间隔
  1. 数据转换函数
函数名称功能描述
Val将参数指定的数据转为数值类型
CLng
CInt
CByte
CDbl将参数指定的数据转为双精度浮点型
CStr将参数指定的数据转为字符串型
CDate将参数指定的数据转为日期型
CBool将参数指定的数据转为布尔型
CVar将参数指定的数据转为 Variant 型

四、Excel 对象模型操作

  1. 工作簿(Workbook)
  2. 工作表(Worksheet)
  • 新建一个工作表
workshets.add
  • 获取表的名称
Sheets.Name
  • 获取表的数量
Sheets.Count
  1. 单元格(Range)
  • 单元格赋值
    Range(“A1”).Value = “值”

连续选择的
“A1:B10” A1 -> B10 连续
不连续选择
“A1,B10” A1 和 B10

  • 根据行号列号引用单个单元格
sells(行,列)
' 行必须为数字,列可以是数字也可以是A
  • 选择行
rows(行号).select

' 也可以连续使用
rows(3:10).rows(1)  `表示第3到10的第一行
columns
  • 选择单元格的相对单元格
offset
Range("A1").Offset(5,0)  `表示从A1开始向下移动5,向右移动1
' 负数表示反向
  • 获得行或列的最后单元格
End(xlUp)
`可选值:xlToLeft、xlToRight、xlUp、xlDown
  • 单元格格式
将单元格区域存储到变量中
Set
例如:set title = range("B2;G2")

合并单元格
title.Merge

水平居中
HorizontalAlignment = xlCenter

字体大小
Font.Size = 12

字体颜色
Font.ColorIndex = 1

字体加粗
Font.Bold = true

单元格内部
Range.Interior

单元格背景颜色
Interior.ColorIndex

边框
Borders.LineStyle = true

在这里插入图片描述

相关文章:

  • 自动化机器学习(TPOT优化临床试验数据)
  • springCloud集成tdengine(原生和mapper方式) 其二 原生篇
  • 阿里云对象存储教程
  • NGINX中的反向代理实践
  • 【C++】--- 类和对象(中)之日期类的实现
  • 遇见东方微笑·畅游如意甘肃——“天水文化旅游嘉年华”2025年春季文旅宣传推广活动侧记
  • RTX4090架构解析与性能实测
  • springboot 和springboot3-教程
  • 基于漂浮式海上风电场系统的浮式风力发电机matlab仿真
  • 蓝桥杯每日一题----一维差分
  • window10安装WSL2
  • Debezium + Kafka-connect 实现Postgre实时同步Hologres
  • 正则艺术:深入探讨高级语法——零宽断言与反向引用实战
  • 传统金融和分布式金融
  • OceanBase 社区年度之星专访:社区“老炮”代晓磊与数据库的故事
  • Vulnhub-dedecms织梦通关攻略
  • TiDB × AI :DeepSeek 时代你需要什么样的数据基座
  • HTML 表单处理进阶:验证与提交机制的学习心得与进度(二)
  • 前端-选中pdf中的文字并使用,显示一个悬浮的翻译按钮(本地pdfjs+iframe)不适用textlayer
  • 嵌入式面经(2)——央企篇
  • 驱逐行动再加码?特朗普或向利比亚和卢旺达遣送非法移民
  • 哥伦比亚总统称将在访华期间签署“一带一路”倡议意向书,外交部回应
  • 川大全职引进考古学家宫本一夫,他曾任日本九州大学副校长
  • 上海乐高乐园明天正式开售年卡,下月开启试运营
  • 茹诗瑶评《失去伊斯坦布尔》︱“帝国主义者”的多重面相
  • 超导电路新设计有望提升量子处理器速度