VBA-Excel

news2025/4/22 9:52:49

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2320210.html

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

相关文章

OpenHarmony 开源鸿蒙北向开发——linux使用make交叉编译第三方库

这几天搞鸿蒙,需要编译一些第三方库到鸿蒙系统使用。 头疼死了,搞了一个多星期总算搞定了。 开贴记坑。 一、SDK下载 1.下载 在linux下使用命令 wget https://cidownload.openharmony.cn/version/Master_Version/OpenHarmony_5.1.0.54/20250313_02…

【第14届蓝桥杯C/C++B组省赛】01串的熵

问题描述 算法思想 首先分析题目中给出的公式 S 100时,其信息熵为 H(S)−p(0)log2​(p(0)) − p(0)log2​(p(0)) − p(1)log2​(p(1)) 继续化简公式得 设0出现的次数为x,1出现的次数为3-x H(S)−x * p(0) * log2​(p(0)) − (3-x) * p(1) * log2​(p(1)…

鸿蒙harmonyOS笔记:练习CheckBoxGroup获取选中的值

除了视觉效果实现全选和反选以外,咱们经常需要获取选中的值,接下来看看如何实现。 核心步骤: 1. 给 CheckBoxGroup 注册 onChange。 2. CheckBox 添加 name 属性。 3. 在 onChange 的回调函数中获取 选中的 name 属性。 事件&#xff1a…

收数据花式画图plt实战

目录 Python plt想把纵坐标化成对数形式代码 子图ax. 我又有ax scatter,又有ax plot,都要去对数 数字接近0,取对数没有定义,怎么办 创建数据 添加一个小的常数以避免对数未定义的问题 创建一个figure和一个子图ax 在子图a…

系统架构书单推荐(一)领域驱动设计与面向对象

本文主要是个人在学习过程中所涉猎的一些经典书籍,有些已经阅读完,有些还在阅读中。于我而言,希望追求软件系统设计相关的原则、方法、思想、本质的东西,并希望通过不断的学习、实践和积累,提升自身的知识和认知。希望…

Centos6配置yum源

Centos6配置yum源 为Centos6配置CentOS Vault源—防止yum源过期为Centos6配置epel源为Centos6配置ELRepo源---已ELRepo被官方清空Centos6安装dockerdocker配置国内镜像加速 为Centos6配置CentOS Vault源—防止yum源过期 参考:https://mirrors.ustc.edu.cn/help/cen…

CVPR 2025 | 文本和图像引导的高保真3D数字人高效生成GaussianIP

小小宣传一下CVPR 2025的工作GaussianIP。 arXiv:https://arxiv.org/abs/2503.11143 Github:https://github.com/silence-tang/GaussianIP 欢迎star, issue~ 摘要 文本引导的3D人体生成随着高效3D表示及2D升维方法(如SDS)的发展…

Cursor从小白到专家

文章目录 1:简单开发一个贪吃蛇游戏规则设置提示词 cursor开发小工具开发整体步骤创建.cursorrules输入提示词composer模式chat模式 执行cursor accept all发布到线上进行分享 cursor开发一个浏览器插件创建.cursorrulescursor rules范例集工具 输入提示词执行curso…

使用C++在Qt框架下调用DeepSeek的API接口实现自己的简易桌面小助手

项目背景 随着DeepSeek的爆火,最近的DeepSeek也进行了新一轮技术的更新,为了拥抱新时代,我们也要不断学习新的知识,难的底层原理我们接触不到,简单的调用还能难住我们? 因为在网络上搜集到的资源都是用Py…

【信息系统项目管理师】【高分范文】【历年真题】​论信息系统项目的风险管理

【手机端浏览】☞【信息系统项目管理师】【高分范文】【历年真题】​论信息系统项目的风险管理 2023年上半年考题 【题目】 论信息系统项目的风险管理 项目风险管理旨在识别和管理未被项目计划及其他过程所管理的风险,如果不妥善管理,这些风险可能导致项…

Debain-12.9使用vllm部署内嵌模型/embedding

Debain-12.9使用vllm部署内嵌模型/embedding 基础环境准备下载模型部署模型注册dify模型 基础环境准备 基础环境安装 下载模型 modelscope download --model BAAI/bge-m3 --local_dir BAAI/bge-m3部署模型 vllm serve ~/ollama/BAAI/bge-m3 --served-model-name bge-m3 --t…

Milvus学习整理

Milvus学习整理 一、度量类型(metric_type) 二、向量字段和适用场景介绍 三、索引字段介绍 (一)、概述总结 (二)、详细说明 四、简单代码示例 (一)、建立集合和索引示例 (二&#xff09…

MySQL事务全解析:从概念到实战

在数据库操作中,事务是一个至关重要的概念,它确保了数据的完整性和一致性。今天,就让我们深入探讨MySQL事务的方方面面,从基础概念到实际应用,全面掌握这一技能。 一、为什么需要事务 假设张三要给李四转账100元&…

手机怎么换网络IP有什么用?操作指南与场景应用‌

在数字化时代,手机已经成为我们日常生活中不可或缺的一部分,无论是工作、学习还是娱乐,手机都扮演着至关重要的角色。而在手机的使用过程中,网络IP地址作为设备在互联网上的唯一标识符,其重要性和作用不容忽视。本文将…

科技赋能安全:慧通测控的安全带全静态性能测试

汽车的广泛普及给人们的出行带来了极大便利,但交通事故频发也成为严重的社会问题。据世界卫生组织统计,全球每年约有 135 万人死于道路交通事故,而安全带在减少事故伤亡方面起着不可替代的作用。正确使用安全带可使前排驾乘人员的死亡风险降低…

记录修复一个推拉门滑轮

推拉门有个滑轮的固定螺丝不知什么时候掉了,也找不到,这就导致推拉门卡在轨道上。 这种滑轮在夕夕上很便宜,比哈罗单车还划算,但是现在缺的只是螺丝,如果买就会多出来一个轮… 这种螺丝比较长,大概是m4的…

压缩壳学习

壳是什么 壳就是软件的一个保护套,防止软件被进行反编译或被轻易地修改。 其作用就是为了保护软件。 常见的大类壳有压缩壳、加密壳、VM 壳的分类。 压缩壳顾名思义就是用来减小软件的文件大小的;加密壳,通过加密软件来保护软件&#xff…

深入理解 Linux ALSA 音频架构:从入门到驱动开发

文章目录 一、什么是 ALSA?二、ALSA 系统架构全景图核心组件详解:三、用户空间开发实战1. PCM 音频流操作流程2. 高级配置(asound.conf)四、内核驱动开发指南1. 驱动初始化模板2. DMA 缓冲区管理五、高级主题1. 插件系统原理2. 调试技巧3. 实时音频优化六、现代 ALSA 发展七…

CCF-CSP认证 202206-2寻宝!大冒险!

题目描述 思路 有一张绿化图和藏宝图,其中绿化图很大(二维数组在限定的空间内无法存储),而藏宝图是绿化图中的一部分,对于绿化图和藏宝图,左下角的坐标为(0, 0),右上角的坐标是(L, L)、(S, S)&…

仿函数 VS 函数指针实现回调

前提: 本博客对比 函数指针实现回调 和 仿函数 ,突出仿函数的优势。 目的: 一个类要能够灵活的调用两个函数,essfc 和 greaterfc,分别用于比较两个整数的大小: ①:lessfc:判断 x …