excel的宏与VBA入门(一)——基础概念

时间:2023-03-09 23:01:28
excel的宏与VBA入门(一)——基础概念

一、概述

  "记录宏"其实就是将工作的一系列操作结果录制下来,并命名存储(相当于VB中一个子程序)。

  宏其实就是VBA写的,但是可以通过录制的方法制作宏,做好的宏你可以查看相应的VBA语句,从而反过来学习VBA

二、宏在excel中的使用

  excel 2016打开“开发工具面板”->“文件”->“选项”->“自定义功能区”->“勾选开发工具”:

  excel的宏与VBA入门(一)——基础概念

  打开开发工具,就可以开始录制与使用宏了。

  宏的设置:http://www.office68.com/excel/24532.html

  更多基础概念,参考:https://blog.****.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——第一个宏

   选中一个单元格,点击录制宏:

  excel的宏与VBA入门(一)——基础概念

  // 当然,直接通过代码方式编写可以点击最左边的VB

  然后将单元格字体颜色改为红色,之后停止录制宏,查看并编辑宏,将宏修改为对当前选中区域的操作

Sub mysub()
'
' mysub 宏
'
'With Selection.Font
.Color = -
.TintAndShade =
End With
End Sub

  调用这个宏可以通过快捷键或者点击宏进行操作,当然可以通过一个按钮来操作,这样快捷许多:

  插入按钮并关联宏:

  excel的宏与VBA入门(一)——基础概念

  当然保存时记得保存为带宏的类型:

  excel的宏与VBA入门(一)——基础概念

  这样以后点击按钮就可以操作了:

  excel的宏与VBA入门(一)——基础概念

  更多操作实例,参考:http://club.excelhome.net/forum.php?mod=viewthread&tid=470603&page=1#pid3075184

  这里我们就知道宏的定义了:Sub开头,End Sub结尾