一、概述

  "记录宏"其实就是将工作的一系列操作结果录制下来,并命名存储(相当于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入门(一)——基础概念的更多相关文章

  1. excel的宏与VBA入门(二)——数据类型与变量

    一.属性与方法 1.属性 上面单击对象,下面即显示对应的属性: 2.方法 双击左上的对象,即可看到相应的方法: 二.数据类型 到 Boolean True 或 False , 到 , ,,, 到 ,, ...

  2. excel的宏与VBA入门——代码调试

    直接介绍重点: 常用的操作是导航栏的逐句与断点: 添加断点:调试->切换断点 单步运行:调试->逐句 查看变量的窗口:视图->本地窗口

  3. excel的宏与VBA入门(三)——流程控制

    一.条件控制IF if 逻辑表达式 then 语句块 end if 带else的if语句: If 逻辑表达式1 Then 语句块1 ElseIf 逻辑表达式2 Then 语句块2 ElseIf 逻辑表 ...

  4. JavaWeb零基础入门-01 基础概念说明

    一.序言 从学校出来到实习,发现学校学的东西太过基础,难于直接运用于工作中.而且工作中,现在都以web开发为主,学校开了web开发相关课程.自己学的不够深入,所以本人自学JavaWeb开发,介于学习巩 ...

  5. RabbitMQ 入门之基础概念

    什么是消息队列(MQ) 消息是在不同应用间传递的数据.这里的消息可以非常简单,比如只包含字符串,也可以非常复杂,包含多个嵌套的对象.消息队列(Message Queue)简单来说就是一种应用程序间的通 ...

  6. excel的宏与VBA实践——建表语句

    一.建表语句 不带分区版本:V1.0: Sub createTableDDL() '自动创建建表语句 '定义换行和TAB Ln = ) + ) TB = ) '定义脚本目录 Dim dir AS St ...

  7. 入门Kubernetes -基础概念

    一.Kubernetes概述 Kubernetes ,又称为 k8s(首字母为 k.首字母与尾字母之间有 8 个字符.尾字母为 s,所以简称 k8s)或者简称为 "kube" ,是 ...

  8. RabbitMQ 基础概念进阶

    上一篇 RabbitMQ 入门之基础概念 介绍了 RabbitMQ 的一些基础概念,本文再来介绍其中的一些细节和其它的进阶的概念. 一.消息生产者发送的消息不可达时如何处理 RabbitMQ 提供了消 ...

  9. Excel VBA入门(七)注释、宏按钮及错误处理

    系统性的知识前面已经讲完,从本章开始,本系列教程涉及的将会是一些相对凌散的内容. 1. 注释 代码注释是一件利人利己的事,为了方便自己在代码需要更新修改时,依然能够快速地看懂自己完的每一行代码到底是什 ...

随机推荐

  1. 高性能JavaScript(快速响应的用户界面)

    浏览器UI线程 用于执行JavaScript代码和更新界面的进程被称为 “浏览器UI线程” . UI线程的工作基于一个简单的队列系统,任务会被保存到队列中直到线程空闲,一旦空闲队列就被重新提取出来运行 ...

  2. css3的calc()属性

    1.calc()是css3的一个新增的功能,用来指定元素的长度,你可以使用calc()给元素的border.margin.pading.font-size和width等属性动态的设置值. 2.calc ...

  3. Dynamics 365Online 使用adal.js注册和配置SimpleSPA应用程序

    本篇是基于dynamics 365online撰写,本文中使用的365online及azure均为试用版,因为online在国内还没落地,所以我申请的是新加坡版,online的申请方式可见我之前的博文 ...

  4. The D Programming Language 书评

    此书的作者 Andrei Alexandrescu 作为前 C++ 社区的一朵奇葩,因为实在是不满 C++ 标准委员会的官僚作风,跳槽到了 D 社区,成为了 D 发明人 Walt Brightman ...

  5. [Android] ACTION_GET_CONTENT与ACTION_PICK的区别

    参考:AndroidSDK/docs/reference/android/content/Intent 看到相关代码,对这两个参数的区别有点搞不清. 原文地址请保留http://www.cnblogs ...

  6. springcloud 入门 4 (rebbon源码解读)

    Ribbon: ribbon是springcloud个服务之间调用的一种实现方式:主要提供了客户端的负载均衡.feign集成了Ribbon(下节介绍) 源码分析: 1> 源码入口 @LoadBa ...

  7. Linux服务器redhat配置本地yum源

    前面给大家介绍了很多在Linux安装软件的知识,这些软件往往依赖了很多第三方的工具或者软件,如果在Linux服务器有外网的情况,咱们可以通过yum install这样的命令直接去安装这些相关的工具或者 ...

  8. 如何在 Azure 门户中将托管数据磁盘附加到 Windows VM

    本文介绍了如何通过 Azure 门户将新的托管数据磁盘附加到 Windows 虚拟机. 在开始之前,请查看以下提示: 虚拟机的大小决定了可以附加多少个磁盘. 有关详细信息,请参阅虚拟机大小. 对于新磁 ...

  9. SQLServer中DataLength()和Len()两内置函数的区别(转载)

    最近工作中遇到了个问题:在数据库中声明字段类型时char(4),但实际只存储了‘DCE’三个字母,程序中拼装以该字段作为key的Map中,会把‘DCE’+空格作为其Key,这样造成用没加空格的‘DCE ...

  10. 使用Doxygen生成C#帮助文档

    一. 什么是Doxygen? Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件.通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打 ...