excel的宏与VBA入门(一)——基础概念
一、概述
"记录宏"其实就是将工作的一系列操作结果录制下来,并命名存储(相当于VB中一个子程序)。
宏其实就是VBA写的,但是可以通过录制的方法制作宏,做好的宏你可以查看相应的VBA语句,从而反过来学习VBA
二、宏在excel中的使用
excel 2016打开“开发工具面板”->“文件”->“选项”->“自定义功能区”->“勾选开发工具”:
打开开发工具,就可以开始录制与使用宏了。
宏的设置:http://www.office68.com/excel/24532.html
更多基础概念,参考:https://blog.csdn.net/small_baby01/article/details/22334311
易百教程:https://www.yiibai.com/vba
三、基础概念
1.工作簿
Workbooks:所有excel当前打开的工作簿(即所有excel文件)
Workbook:Workbooks的成员
ActiveWorkbook:当前工作簿
ThisWorkbook:当前VB正在运行的工作簿
2.工作表
Worksheets:所有工作表。
可以通过下标或者名字引用Worksheet
例如引用第一个:Worksheets(1),最后一个:Worksheets.Count,引用指定的:Worksheets("shee1")
Worksheet:Worksheets的成员
ActiveWorksheet:当前worksheet
3.单元格
Cells:Cells(row,column)代表单个单元格。
例如Cells(1,1),Cells(10,4)分别代表A1,D10
ActiveCell:活动工作簿的活动单元格,或指定工作表的活动单元格
Range:指定区域,例如Range("A1:H8")
或者[A1],[A1:C5]的中括号形式
最顶层的对象是Application,例如要引用一个单元格,可以由顶向下:(当然不用傻傻的每次都这么长,可以引用当前的工作簿不用由顶向下)
Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”).Range(“A1:D10”)
我们可以用:“[A65536].End(xlUp).Row”来表示A列最后一个非空单元格的行号
// 或者count_row_k = Sheets(sti).UsedRange.Rows.Count
ActiveSheet.Cells([A65536].End(xlUp).Row + , ).Value = "张青"
四、helloworld——第一个宏
选中一个单元格,点击录制宏:
// 当然,直接通过代码方式编写可以点击最左边的VB
然后将单元格字体颜色改为红色,之后停止录制宏,查看并编辑宏,将宏修改为对当前选中区域的操作
Sub mysub()
'
' mysub 宏
'
'With Selection.Font
.Color = -
.TintAndShade =
End With
End Sub
调用这个宏可以通过快捷键或者点击宏进行操作,当然可以通过一个按钮来操作,这样快捷许多:
插入按钮并关联宏:
当然保存时记得保存为带宏的类型:
这样以后点击按钮就可以操作了:
更多操作实例,参考:http://club.excelhome.net/forum.php?mod=viewthread&tid=470603&page=1#pid3075184
这里我们就知道宏的定义了:Sub开头,End Sub结尾
excel的宏与VBA入门(一)——基础概念的更多相关文章
- excel的宏与VBA入门(二)——数据类型与变量
一.属性与方法 1.属性 上面单击对象,下面即显示对应的属性: 2.方法 双击左上的对象,即可看到相应的方法: 二.数据类型 到 Boolean True 或 False , 到 , ,,, 到 ,, ...
- excel的宏与VBA入门——代码调试
直接介绍重点: 常用的操作是导航栏的逐句与断点: 添加断点:调试->切换断点 单步运行:调试->逐句 查看变量的窗口:视图->本地窗口
- excel的宏与VBA入门(三)——流程控制
一.条件控制IF if 逻辑表达式 then 语句块 end if 带else的if语句: If 逻辑表达式1 Then 语句块1 ElseIf 逻辑表达式2 Then 语句块2 ElseIf 逻辑表 ...
- JavaWeb零基础入门-01 基础概念说明
一.序言 从学校出来到实习,发现学校学的东西太过基础,难于直接运用于工作中.而且工作中,现在都以web开发为主,学校开了web开发相关课程.自己学的不够深入,所以本人自学JavaWeb开发,介于学习巩 ...
- RabbitMQ 入门之基础概念
什么是消息队列(MQ) 消息是在不同应用间传递的数据.这里的消息可以非常简单,比如只包含字符串,也可以非常复杂,包含多个嵌套的对象.消息队列(Message Queue)简单来说就是一种应用程序间的通 ...
- excel的宏与VBA实践——建表语句
一.建表语句 不带分区版本:V1.0: Sub createTableDDL() '自动创建建表语句 '定义换行和TAB Ln = ) + ) TB = ) '定义脚本目录 Dim dir AS St ...
- 入门Kubernetes -基础概念
一.Kubernetes概述 Kubernetes ,又称为 k8s(首字母为 k.首字母与尾字母之间有 8 个字符.尾字母为 s,所以简称 k8s)或者简称为 "kube" ,是 ...
- RabbitMQ 基础概念进阶
上一篇 RabbitMQ 入门之基础概念 介绍了 RabbitMQ 的一些基础概念,本文再来介绍其中的一些细节和其它的进阶的概念. 一.消息生产者发送的消息不可达时如何处理 RabbitMQ 提供了消 ...
- Excel VBA入门(七)注释、宏按钮及错误处理
系统性的知识前面已经讲完,从本章开始,本系列教程涉及的将会是一些相对凌散的内容. 1. 注释 代码注释是一件利人利己的事,为了方便自己在代码需要更新修改时,依然能够快速地看懂自己完的每一行代码到底是什 ...
随机推荐
- 借助form表单向web服务器发送消息
form表单是常用的,在网页浏览器中 用户点击的请求经htto协议发送回web容器,请求处理 建立用户的页面 <!DOCTYPE html> <html> <head&g ...
- C# dynamic类型报错:“object”不包含“xxx”的定义
一.起因: 最近在做的一个项目,因为很多地方要用到同一套流程.为了后期维护,要求将共用流程进行抽离,创建为一个公用的类库.在抽离之前程序运行是没有问题的,然而在抽离之后就得到了如题错误: object ...
- OSGI企业应用开发(一)OSGI简介
一.OSGI简介 OSGI全称为Open Service Gateway Initiative(开放服务网关规范),有两个层面的含义,一方面它指OSGi Alliance组织:另一方面指该组织制定的一 ...
- 语义slam用于高精地图和高精定位的一些想法
最近一直在考虑语义slam在自动驾驶和辅助驾驶中的用法,研究了一下视觉为主的高精度地图+高精定位的模式,特别是mobileye的REM. 秉承先建图再定位的思路,在服务器端(云端)建图,在车端定位. ...
- Loadrunner 脚本开发-利用web_custom_request函数进行接口测试
脚本开发-利用web_custom_request函数进行接口测试 by:授客 QQ:1033553122 一.POST + JSON格式参数 例: web_custom_request(" ...
- 白盒测试实践-DAY1
时间:2017.12.11 地点:软件学院 成员:张玉.周静.张双双 会议内容:讨论题目要求,分配任务 针对第一阶段的任务进行部署,共同学习白盒测试方法,根据自己选择的系统--餐厅网站,针对其中的管理 ...
- excel、xls文件读写操作
python 常用的excel.xls文件读写操作,有两个模块 xlrd:读 xlwt:写 本次先写一个读的例子: class CaseData(object): def __init__(self, ...
- go语言练习:幂、函授接收和返回参数、转义字符、变量和常量
1.实现a^b次方 package main func main() { r2 := power1(2,4) println(r2) } func power1(a uint64, b uint64) ...
- SQL SERVER怎样将某个服务器上面的数据自动备份到另一台服务器上面(异地备份)
一:试验背景 异地备份好处:(待补充) 1:异地备份了把原有服务器数据放在另外一个位置,避免些物理损害. 比把数据刻录光盘和原始数据放同房间了房间失火了备份数据也没有了要放另外地方避免了 就是备份 ...
- Iterator迭代器对象
目录: >迭代器Iterator的使用 >迭代字符串集合 >迭代对象集合 >迭代器使用图解,和原理分析 >Java迭代器源代码 >迭代器Iterator的使用: & ...