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 E11Set rng = Range("E11")
'select the current regionrng.CurrentRegion.Select
End Sub

Counting the Rows and Columns in the Current Region

在这里插入图片描述

Sub FindCurrentRegion()Dim rng As RangeDim iRw As IntegerDim iCol As Integer
'set the rangeSet rng = Range("E11")
'count the rowsiRw = rng.CurrentRegion.Rows.Count
'count the columnsiCol = rng.CurrentRegion.Columns.Count
'show the result in a message boxMsgBox ("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 rangeSet 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 E11Set rng = Range("E11").CurrentRegion
'color the background and textrng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Truerng.Font.Color = -16776961
End Sub

在这里插入图片描述

Get the Start and End Cells in the Current Region

Sub GetStartAndEndCells()Dim rng As RangeDim iRw As IntegerDim iCol As IntegerDim iColStart, iColEnd, iRwStart, iRwEnd As String
'set the range variable to be the current region of E11Set rng = Range("E11").CurrentRegion
'set the start column for the rangeiColStart = rng.Column
'get the end column for the rangeiColEnd = iColStart + (rng.Columns.Count - 1)
'get the start row for the rangeiRwStart = rng.Row
'get the end row for the rangeiRwEnd = iRwStart + (rng.Rows.Count - 1)
'display the address of the start and end rows and columns in a message boxMsgBox ("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)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习与计算机视觉 (博士)

文章目录 零、计算机视觉概述一、深度学习相关概念1.学习率η2.batchsize和epoch3.端到端(End-to-End)、序列到序列(Seq-to-Seq)4.消融实验5.学习方式6.监督学习的方式(1)有监督学习(2)强监督学习(3)弱监督学习(4)半监督学习(5)自监督学习(6)无监督学习(7)总结:不同…

《安富莱嵌入式周报》第348期:开源低功耗测试仪,开源创意万用表,续航100-300小时,开源PCB电机,自制shell和网络协议栈,开源水培自动化系统

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1Tzr9Y3EQ7/ 《安富莱嵌入式周报》第348期:开源低功…

Linux通过ISCSI连接StarWind共享存储

文章目录 StarWind安装配置StarWind ISCSI添加StarWind Server添加Target 添加Device存储盘Linux通过ISCSI连接StarWind共享存储Linux客户端安装ISCSI搜索服务端ISCSI Target连接服务端ISCSI共享存储Linux客户端查看共享存储 StarWind安装 配置StarWind ISCSI 添加StarWind Se…

unity学习12:地图相关的一些基础2, 增加layer种草种树

目录 参考学习 1 地图设置 1.1 上次制作的地图,稍微加点地形完善下. 1.2 调整下camera 1.3 摄像机camera的移动速度 1.4 地图属性,terrain settings 1.5 但是,地图看起来像沙漠一样,很单调 2 paint terrain / paint textu…

Uniapp Android 本地离线打包(详细流程)

一、简介 App 离线 SDK 暂时不支持 Kotlin,未来不清楚。 uniapp 提供了 云打包 与 本地打包 两种方案,云打包 需要排队且还有次数限制,本地打包 则就没有这些限制,而且会 本地打包 对开发 原生插件 有很大的帮助。 细节&#x…

JavaEE之线程池

前面我们了解了多个任务可以通过创建多个线程去处理,达到节约时间的效果,但是每一次的线程创建和销毁也是会消耗计算机资源的,那么我们是否可以将线程进阶一下,让消耗计算机的资源尽可能缩小呢?线程池可以达到此效果&a…

【MySQL数据库】基础总结

目录 前言 一、概述 二、 SQL 1. SQL通用语法 2. SQL分类 3. DDL 3.1 数据库操作 3.2 表操作 4. DML 5. DQL 5.1 基础查询 5.2 条件查询 5.3 聚合函数 5.4 分组查询 5.5 排序查询 5.6 分页查询 6. DCL 6.1 管理用户 6.2 权限控制 三、数据类型 1. 数值类…

记录一次电脑被入侵用来挖矿的过程(Trojan、Miner、Hack、turminoob)

文章目录 0、总结1、背景2、端倪3、有个微软的系统更新,就想着更新看看(能否冲掉问题)4、更新没成功,自动重启电脑5、风险文件(好家伙命名还挺规范,一看名字就知道出问题了)6、开机有一些注册表…

请求方式(基于注解实现)

1.编写web.xml文件配置启动信息 <!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app><display-name>Archetype Created Web Application</di…

golang单元测试

单元测试 类型前缀签名用途测试函数Testfunc TestXxx(t *testing.T)功能测试、验证逻辑正确性基准函数Benchmarkfunc BenchmarkXxx(b *testing.B)性能测试、效率评估示例函数Examplefunc ExampleXxx()用法展示、生成文档 testing框架 文件名以_test.go结尾&#xff0c;放在与…

【2024年华为OD机试】 (A卷,100分)- 总最快检测效率(Java JS PythonC/C++)

一、问题描述 题目描述 在系统、网络均正常的情况下组织核酸采样员和志愿者对人群进行核酸检测筛查。 每名采样员的效率不同&#xff0c;采样效率为 N 人/小时。由于外界变化&#xff0c;采样员的效率会以 M 人/小时为粒度发生变化&#xff0c;M 为采样效率浮动粒度&#xf…

【AI日记】25.01.11 Weights Biases | AI 笔记 notion

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 AI kaggle 比赛&#xff1a;Forecasting Sticker Sales笔记&#xff1a;我的 AI 笔记主要记在两个地方 有道云笔记&#xff1a;数学公式和符号比较多的笔记notion&#xff1a;没什么数学公式的…

[免费]微信小程序(高校就业)招聘系统(Springboot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序(高校就业)招聘系统(Springboot后端Vue管理端)&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序(高校就业)招聘系统(Springboot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍…

《新闻大厦抢先版》V0.18.105+Dlcs官方学习版

《新闻大厦抢先版》官方版https://pan.xunlei.com/s/VODaeUn3v-ZWVvvmUMfo5AqWA1?pwdnhpz# 建造并不断优化新闻大楼&#xff0c;保障员工权益并及时赶上周日的印刷交期&#xff01; 招募并管理不同职业以登上成功的阶梯&#xff1a;记者、摄像师、勤杂工&#xff0c;除此以外…

1.两数之和--力扣

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1…

Kubernetes集群架构

Kubernetes集群架构 Kubernetes 集群架构控制平面组件kube-apiserveretcdkube-schedulerkube-controller-managercloud-controller-manager 节点组件kubeletkebe-proxy&#xff08;可选&#xff09;容器运行时 插件DNSWeb UI&#xff08;Dashboard&#xff09;容器资源监控集群…

Visual Studio 中增加的AI功能

前言&#xff1a; 人工智能的发展&#xff0c;在现在&#xff0c;编程技术的IDE里面也融合了AI的基本操做。本例&#xff0c;以微软的Visual Studio中的人工智能的功能介绍例子。 本例的环境&#xff1a; Visual Studio 17.12 1 AI 智能变量检测&#xff1a; 上图展示了一…

牛客网刷题 ——C语言初阶(6指针)——BC106 上三角矩阵判定

1. 题目描述——BC106 上三角矩阵判定 牛客网OJ题链接 描述 KiKi想知道一个n阶方矩是否为上三角矩阵&#xff0c;请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵&#xff0c;主对角线为从矩阵的左上角至右下角的连线。 示例 输入&#xff1a; 3 1 2 3 0 4 5 0 0…

时序数据库InfluxDB—介绍与性能测试

目录 一、简述 二、主要特点 三、基本概念 1、主要概念 2、保留策略 3、连续查询 4、存储引擎—TSM Tree 5、存储目录 四、基本操作 1、Java-API操作 五、项目中的应用 六、单节点的硬件配置 七、性能测试 1、测试环境 2、测试程序 3、写入测试 4、查询测试 一…

备战蓝桥杯 队列和queue详解

目录 队列的概念 队列的静态实现 总代码 stl的queue 队列算法题 1.队列模板题 2.机器翻译 3.海港 双端队列 队列的概念 和栈一样&#xff0c;队列也是一种访问受限的线性表&#xff0c;它只能在表头位置删除&#xff0c;在表尾位置插入&#xff0c;队列是先进先出&…