excel VBA 基础教程

这里写目录标题

  • 快捷键
    • 选择所有有内容的地方
  • 调试
  • VBA
  • 录制宏,打开VBA开发工具
    • 录制宏,相当于excel自动写代码(两个表格内容完全一致才可以)
  • 查看宏代码
  • 保持含有宏程序的文件xlsm后缀(注意很容易有病毒)
    • 宏文件安全设置
  • 使用相对引用宏录制
    • 代码格式设置
    • 相对引用(选择没有定死)
  • 通过表单控制宏运行
  • 快速访问工具栏
  • 保存宏到个人宏工作簿
  • VBE 开发环境
    • 工具栏
    • 工程窗口
    • 模块和工作表
    • 插入模块、移除(把代码专门保存,在不同文件中使用)
    • 窗口切换
  • 编写第一个代码
  • 变量
  • 案例 CurrentRegion Syntax
  • Counting the Rows and Columns in the Current Region
  • Clearing the Current Region
  • Assigning the Current Region to a Variable
  • Get the Start and End Cells in the Current Region
    • 不同文档
  • 语法

————————————————

最近要用到excel 发现好多不会的,折腾了半天,发现还是要系统学习一下。
文件全部来自:宏与VBA

VBA语法

VBA教程

VBA代码
activesheet.UsedRange

个人建议,先看上面视频教程,然后再看语法,然后操作一下就会了,大概一天时间。

快捷键

选择所有有内容的地方

选中左上角第一个表格单元,然后Ctrl +A 选中内容
!——单精度浮点数 1个感叹号,所以是单精度。
#——双精度浮点数 二横二竖,所以是双精度。

$——字符串型 外形像极了S,所以是String,文字型么

&——长整型 外形像L的花体字,所以是Long,长整型么。

@——货币型 这个好说,一般也这么用的。 @=Price么。

%——整型 百分比符号,百来个整数,当然非integer整数型莫属了。

调试

在这里插入图片描述

VBA

Note:
宏程序不可撤销(Ctrl+Z也不行)
宏就是一个程序,可以录制

在这里插入图片描述

录制宏,打开VBA开发工具

在这里插入图片描述
然后就有了开发工具
在这里插入图片描述

录制宏,相当于excel自动写代码(两个表格内容完全一致才可以)

1)打开宏
2) 填充宏名字,说明,以及快捷键(可以不设置)
3)操作表格进行录制
4)结束录制
5)在其它文件执行宏
在这里插入图片描述

查看宏代码

1)打开VB
2)打开工程管理器
3)通过±来看内容
4)Microsoft Excel 工作簿中当前内容
5)模块,双击,能看到当前宏的代码
6)可以通过ALt + F11快速切换
在这里插入图片描述

保持含有宏程序的文件xlsm后缀(注意很容易有病毒)

1)常规文件xlsx,会丢失宏
2) 宏程序文件,后缀名比较特殊(xlsm)
3)再次打开启用宏
4)如果禁用了,关闭后再次打开
在这里插入图片描述
在这里插入图片描述

宏文件安全设置

1)指定一个路径设置为信任路径,每次打开不用设置宏
在这里插入图片描述
在这里插入图片描述
受信任位置
在这里插入图片描述

使用相对引用宏录制

代码格式设置

在这里插入图片描述

相对引用(选择没有定死)

比如隔行变色,相对于当前的位置
下面代码关键点是offset(2,0
1)使用相对引用
2)宏录制
3)操作
4)结束
5)重复执行宏
a)选中一个单元格
b)执行宏
在这里插入图片描述

通过表单控制宏运行

快捷键和上面的执行比较麻烦,可以通过【控件】执行,很方便(没搞懂)
在这里插入图片描述

快速访问工具栏

1) 选项-》然后如下设置
(没跑通,待定)
在这里插入图片描述

保存宏到个人宏工作簿

1)录制宏
2) 个人宏工作簿保存至【当前】
3)个人宏工作簿
4)从打开的文档中可以找到,在其它文档中引用
在这里插入图片描述
引用宏,别的文档中的宏引用到目前文档,前提是另外的文档要打开
在这里插入图片描述
如何把宏单独保存
在这里插入图片描述
可以看到
在这里插入图片描述
查看宏保存在哪里,如下就可以看到啦,实际藏了一个隐形的文件,反之可以隐藏
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b22ca4360094431da10c2989c914b541.png在这里插入图片描述
这样就可以在其它的文档中用这个宏了,这个相当于设置了全局的宏,跨文档运行。

VBE 开发环境

工具栏

在这里插入图片描述

工程窗口

在这里插入图片描述

模块和工作表

录制宏就在模块中
可以针对表1来进行操作
在这里插入图片描述

插入模块、移除(把代码专门保存,在不同文件中使用)

在这里插入图片描述
移除,保存bas
在这里插入图片描述
导入模块
在这里插入图片描述

窗口切换

最大化
在这里插入图片描述
选择其它窗口
在这里插入图片描述
水平、垂直窗口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编写第一个代码

1)插入模块
2)编写代码

Sub namexx()
'卡住一个窗口
	MsgBox "This is my first VBA code"
End Sub

效果如下:
在这里插入图片描述

变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

地址:https://docs.microsoft.com/zh-cn/office/vba/language/reference/functions-visual-basic-for-applications
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例 CurrentRegion Syntax

CurrentRegion返回活动单元格所在的周围由空行和空列组成的单元格区域(即通常所说的当前区域),该区域为活动单元格附近不为空的单元格范围,该范围截止区域为空行、空列,以示例说话
https://blog.csdn.net/weixin_43721369/article/details/92063448
其中“E11”是一个固定的
在这里插入图片描述

Sub FindCurrentRegion()
   Dim rng As Range
'set the range to be Cell E11
   Set rng = Range("E11")
'select the current region
   rng.CurrentRegion.Select
End Sub

Counting the Rows and Columns in the Current Region

在这里插入图片描述

Sub FindCurrentRegion()
   Dim rng As Range
   Dim iRw As Integer
   Dim iCol As Integer
'set the range
   Set rng = Range("E11")
'count the rows
   iRw = rng.CurrentRegion.Rows.Count
'count the columns
   iCol = rng.CurrentRegion.Columns.Count
'show the result in a message box
   MsgBox ("We have " & iRw & " rows and " & iCol & " columns in our current region")
End Sub

Clearing the Current Region

在这里插入图片描述

Sub ClearCurrentRegion()
   Dim rng As Range
'set the range
   Set rng = Range("E11")
   rng.CurrentRegion.Clear
End Sub

Assigning the Current Region to a Variable

Sub AssignCurrentRegionToVariable()
   Dim rng As Range
'set the range to be the current region of E11
   Set rng = Range("E11").CurrentRegion
'color the background and text
   rng.Interior.Pattern = xlSolid
   rng.Interior.Color = 65535
   rng.Font.Bold = True
   rng.Font.Color = -16776961
End Sub

在这里插入图片描述

Get the Start and End Cells in the Current Region

Sub GetStartAndEndCells()
   Dim rng As Range
   Dim iRw As Integer
   Dim iCol As Integer
   Dim iColStart, iColEnd, iRwStart, iRwEnd As String
'set the range variable to be the current region of E11
   Set rng = Range("E11").CurrentRegion
'set the start column for the range
   iColStart = rng.Column
'get the end column for the range
   iColEnd = iColStart + (rng.Columns.Count - 1)
'get the start row for the range
   iRwStart = rng.Row
'get the end row for the range
   iRwEnd = iRwStart + (rng.Rows.Count - 1)
'display the address of the start and end rows and columns in a message box
   MsgBox ("The Range start at " & Cells(iRwStart, iColStart).Address & " and ends at " & Cells(iRwEnd, iColEnd).Address)
End Sub

在这里插入图片描述

不同文档

在这里插入图片描述

语法

典型程序
在这里插入图片描述

sub-End Sub

开始结束

Sub test_1_VA()
' test_1_VA 宏
' 实验内容
End Sub

1)注释用单撇号
2)选择 Rows(“2:2”).Select
3)ActiveCell活动单元格
4)ActiveCell.Offset(2, 0)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Excel数据叠加生成新DataFrame:操作指南与案例

目录 一、准备工作 二、读取Excel文件 三、数据叠加 四、处理重复数据(可选) 五、保存新DataFrame到Excel文件 六、案例演示 七、注意事项 八、总结 在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFra…

Django创建数据表、模型、ORM操作

1、创建项目 django-admin startproject PersonInfosProject 2、创建项目应用,进入PersonInfosProject文件夹,新建index应用,使用命令 cd PersonInfosProject python manage.py startapp 新建完成之后的目录结构 3、新建数据模型&#xf…

ZYNQ初识10(zynq_7010)UART通信实验

基于bi站正点原子讲解视频: 系统框图(基于串口的数据回环)如下: 以下,是串口接收端的波形图,系统时钟和波特率时钟不同,为异步时钟,,需要先延时两拍,将时钟同…

【ORACLE战报】2025.1月OCP | MySQL考试

2025.1月【最新考试成绩出炉】 OCP战报 MySQL 战报 部分学员成绩及证书

力扣经典练习题之198.打家劫舍

今天继续给大家分享一道力扣的做题心得今天这道题目是198.打家劫舍,这是一道非常经典的问题,在动态规划中经常考到这类问题,题目如下: 题目链接:198.打家劫舍 1,题目分析 首先此题就是给我们了一个数组,代表可以偷的房屋中的对应的金额,我们是一个小偷,一次可以偷很多…

【数据库】一、数据库系统概述

文章目录 一、数据库系统概述1 基本概念2 现实世界的信息化过程3 数据库系统内部体系结构4 数据库系统外部体系结构5 数据管理方式 一、数据库系统概述 1 基本概念 数据:描述事物的符号记录 数据库(DB):长期存储在计算机内的、…

Redis有哪些常用应用场景?

大家好,我是锋哥。今天分享关于【Redis有哪些常用应用场景?】面试题。希望对大家有帮助; Redis有哪些常用应用场景? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 是一个高性能的开源键值对(Key-Va…

[uniapp] 实现扫码功能,含APP、h5、小程序

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

《异步编程之美》— 全栈修仙《Java 8 CompletableFuture 对比 ES6 Promise 以及Spring @Async》

哈喽,大家好!在平常开发过程中会遇到许多意想不到的坑,本篇文章就记录在开发过程中遇到一些常见的问题,看了许多博主的异步编程,我只能说一言难尽。本文详细的讲解了异步编程之美,是不可多得的好文&#xf…

day07_Spark SQL

文章目录 day07_Spark SQL课程笔记一、今日课程内容二、Spark SQL函数定义(掌握)1、窗口函数2、自定义函数背景2.1 回顾函数分类标准:SQL最开始是_内置函数&自定义函数_两种 2.2 自定义函数背景 3、Spark原生自定义UDF函数3.1 自定义函数流程&#x…

presto不支持concat_ws

在sparksql/hive中,将一个数据集合已指定的分隔符拼接可以用concat_ws,但是在presto中没有这个函数,不过presto提供了一个集合方法array_join,来达到相同的目的 同样的对数据集去重可以用array_distinct 如果你不需要去重就直接…

【日常小记】Ubuntu启动后无图形界面且网络配置消失

【日常小记】Ubuntu启动后无图形界面且网络配置消失 解决方法: 1. 输入后恢复网络: #sudo dhclient 2. 重新安装ubuntu-desktop #sudo apt-get install ubuntu-desktop!!!请关注是否能ping通某网站(例如百度&…

01、kafka知识点综合

kafka是一个优秀大吞吐消息队列,下面我就从实用的角度来讲讲kafka中,“kafka为何有大吞吐的机制”,“数据不丢失问题”,“精准一次消费问题” 01、kafka的架构组织和运行原理 kafka集群各个节点的名称叫broker,因为kaf…

【ArcGIS微课1000例】0137:色彩映射表转为RGB全彩模式

本文讲述ArcGIS中,将tif格式的影像数据从色彩映射表转为RGB全彩模式。 参考阅读:【GlobalMapper精品教程】093:将tif影像色彩映射表(调色板)转为RGB全彩模式 文章目录 一、色彩映射表预览二、色彩映射表转为RGB全彩模式一、色彩映射表预览 加载配套数据包中的0137.rar中的…

Python教程丨Python环境搭建 (含IDE安装)——保姆级教程!

工欲善其事,必先利其器。 学习Python的第一步不要再加收藏夹了!提高执行力,先给自己装好Python。 1. Python 下载 1.1. 下载安装包 既然要下载Python,我们直接进入python官网下载即可 Python 官网:Welcome to Pyt…

2025.1.13运算符重载和继承

作业 #include <iostream> #include <cstring> using namespace std; //在之前做的mystring类的基础上&#xff0c;将能够重载的运算符全部进行重载class mystring { private:char *str;int size;public://无参构造mystring():size(10){str new char[size];str[0…

慧集通(DataLinkX)iPaaS集成平台-业务建模之业务对象(二)

3.UI模板 当我们选择一条已经建好的业务对象点击功能按钮【UI模板】进入该业务对象的UI显示配置界面。 右边填写的是UI模板的编码以及对应名称&#xff1b;菜单界面配置以业务对象UI模板编码获取显示界面。 3.1【列表-按钮】 展示的对应业务对象界面的功能按钮配置&#xff1…

springboot使用Easy Excel导出列表数据为Excel

springboot使用Easy Excel导出列表数据为Excel Easy Excel官网&#xff1a;https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write 主要记录一下引入时候的pom&#xff0c;直接引入会依赖冲突 解决方法&#xff1a; <!-- 引入Easy Excel的依赖 -->&l…

计算机的错误计算(二百一十)

摘要 利用两个大模型计算 . 若可能&#xff0c;保留10位有效数字。实验表明&#xff0c;一个大模型给出了错误结果。另外一个大模型提供了 Python代码&#xff1b;运行代码后&#xff0c;输出中有2位错误数字。 例1. 计算 . 若可能&#xff0c;保留10位有效数字。 下面是一…

用vscode+ollama自定义Cursor AI编辑的效果

在vscode上搜索Continue 添加大语言模型 选择对应的本地模型版本 效果