zoukankan      html  css  js  c++  java
  • 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 + 1, 1).Value = "张青"

    四、helloworld——第一个宏

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

      

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

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

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

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

      插入按钮并关联宏:

      

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

      

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

      

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

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

  • 相关阅读:
    linux添加超级用户
    MongDB配置方法
    【bzoj5174】[Jsoi2013]哈利波特与死亡圣器 二分+树形dp
    【bzoj3560】DZY Loves Math V 欧拉函数
    【bzoj5157】[Tjoi2014]上升子序列 树状数组
    【uoj#317】[NOI2017]游戏 2-SAT
    【bzoj5146】有趣的概率 微积分
    【bzoj4695】最假女选手 线段树区间最值操作
    【bzoj4355】Play with sequence 线段树区间最值操作
    【loj2319】[NOIP2017]列队 Splay(卡过)
  • 原文地址:https://www.cnblogs.com/jiangbei/p/9356053.html
Copyright © 2011-2022 走看看