上一节中认识了Excel 宏的基本样子,明白了VBA就是一门类似于C、JAVA、Python等编程语言,了解了VBA与宏的关系,本节开始学习VBA编程的基础知识和编程环境,是整个学习编程的基础。

一、VBA编程的几个重要概念

0、过程

把VBA代码按照一定顺序和逻辑排列用来完成Excel某个任务的过程,其实就是用VBA代码按照先后顺序排列来完成某个任务的经过。如:sub过程、function过程。

1、对象

对象,是VBA程序编写和流程控制的目标事物,如:工作簿、工作表、单元格等。说白了就是研究目标的事物或是东西,一般都是一些具体的事物,如:电视机、台灯、小红、李明、水壶、桌子、手机、图书馆、电冰箱等等。一个对象可以包含其他对象,如:电脑中的硬盘、声卡、网卡、显示器等;工作簿中的不同工作表。

2、集合

集合,是多个同类型对象的统称。如:多个不同品牌的电脑就是一个集合,不同的多张工作表也是一个集合(worksheets)等。

3、引用对象

引用对象,就是从对象集合中指明对象的位置或是名称。如:从一堆电脑中选出联想牌子的电脑;从某个班级中指明名字叫李虎的学生;从工作簿中指明工作表的位置。引用对象的格式如下所示:

        集合名称(“名称”)  或是    集合名称(编号) 

worksheets("第一张工作表")   含义:从worksheets集合(工作表)中引用名为第一张工作表的对象。

worksheets(1) 含义:从worksheets集合(工作表)中引用排在第一位置工作表的对象。

4、属性

属性,是对象所包含的内容或是具有的特征。如:5年级1班的40名同学就是5年级1班的属性;水壶的颜色是红色的;工作表worksheets中的10张工作表就是worksheets的属性。对象的属性标示方法如下所示:

 对象.属性     

对象在前,属性在后,用"."号连接。 如:电脑(“联想”).硬盘.256G,含义:联想电脑的硬盘是256G;workbooks(“book1”).worksheets("sheet1").range(“A1”).font.color,含义:book1工作簿的sheet1工作表中A1单元格的字体颜色。range(“A1”).value ,含义:指定A1单元格的值。

5、方法

方法,是对对象执行的某一动作,如:打开工作簿、复制工作表、选择单元格、开启水壶电源、统计4年级2班学生成绩、抓取网页数据等等,方法在VBA程序中的标示如下所示:

对象.方法

对象在前,方法在后,如:range(“A1”).select  含义:选择A1单元格。为了区分对象的方法和属性,可以在对象的后面加“.”,在【属性/方法列表】中根据图标颜色来分辨,带绿色标示方法,其他标示属性,如下图所示。

二、VBA编程环境介绍

打开VBA编辑器有很多办法,如:开发工具-visual basic,编辑器的界面如下图所示:

上图中,红外框图区域是工程资源管理器,黄色框图区域是属性窗口,蓝色框图区域是立即窗口,粉红色区域是代码区,绿色区域是工具栏,紫色区域是菜单栏。

编写第一个VBA程序

第一步:在工程资源管理器中添加模块。

第二部:编写代码。双击模块——插入——过程,设备过程名称,点击确认——在过程中编写代码——运行。

VBA编程基础和编程环境(二)相关推荐

  1. DirectInput编程基础-游戏手柄编程

    导读: DirectInput编程基础 - 简介 出 处: 中国游戏开发者 [ 2001-09-09] 作 者: 目 录 1.1 DirectInput概念 1.2 设置DirectInput 1.3 ...

  2. PMAC上位机编程基础1---编程环境配置

    最近看了一篇上海交通大学的硕士毕业论文,提到了关于PMAC的上位机编程,觉得蛮有意思.于是也想写一个小界面试一试.看了两三天文档,经过N次调试,终于完成了实现电机JOG运动的界面,其实回过头来想想,还 ...

  3. 【Lua编程基础】Lua环境安装及lua脚本编写

    欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 Github 下载地址:https://github.com/rjpcomputing/luaforwindows/relea ...

  4. 遍历二维数组_Java编程基础阶段笔记 day06 二维数组

    二维数组 笔记Notes 二维数组 二维数组声明 二维数组静态初始化与二位初始化 二维数组元素赋值与获取 二维数组遍历 二维数组内存解析 打印杨辉三角 Arrays工具类 数组中常见的异常 二维数组 ...

  5. Java编程基础阶段笔记 day06 二维数组

    二维数组 笔记Notes 二维数组 二维数组声明 二维数组静态初始化与二位初始化 二维数组元素赋值与获取 二维数组遍历 二维数组内存解析 打印杨辉三角 Arrays工具类 数组中常见的异常 二维数组 ...

  6. 原创:oracle PL/SQL编程基础 下lt;十二gt;

    游标:  游标(cursor)可以被看作指向结果集(a set of rows)中一行的指针(pointer).在oracle数据库中可以使用显示或隐式两种游标. 隐式游标: 在执行一个 sql 语句 ...

  7. Java编程基础测题(二十道)

    1.假设有如下程序: public class Demo { public static void main(String args[]) { int num = 2147483647 ; num + ...

  8. java语言编程基础_Java编程基础02——Java语言基础

    1_(常量的概述和使用)* A:什么是常量(constant) 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常 ...

  9. 安卓编程基础——手势编程

    目录 前言 (一)安卓手势操作原理 (二)安卓手势类与接口 二.利用手势切换图片 1.创建安卓应用 3.字符串资源文件 4.主布局资源文件 5.主界面类实现功能 6.启动应用,查看效果 总结 前言 现 ...

  10. [Java网络编程基础]网络编程概述,三要素,IP地址

最新文章

  1. 清华 CVer 对自监督学习的一些思考
  2. (转)linux基本变量学习:位置变量$0 、$1 shift轮替、本地变量、环境变量、特殊变量...
  3. spring cloud config动态刷新_SpringCloud-Config
  4. 百度超级链XChain(1)系统架构
  5. 全球及中国煤炭工业市场产量规模与十四五发展战略报告2022版
  6. 4种动态加载JS的方法
  7. win7制作ntp服务器,如何将Win7作为NTP服务器
  8. linux查询机器信息,linux_机器信息查询
  9. 用postGIS向postgresql插入空间数据
  10. Android6.0内核移植(1):分析编译日志
  11. python读取xps文件_Python操做PDF-文本和图片提取(使用PyPDF2和PyMuPDF)
  12. VT-x is disabled in BIOS错误解决
  13. 简单的动画(梦幻西游)
  14. 对接熊迈SDK工作记录之实时视频和云录像功能集成
  15. 什么是MTTF,MTBF?
  16. 小孟5w接了个盲盒小程序,三周开发完毕
  17. android 微信自动添加好友 项目开源
  18. JS(JavaScript)中实现深浅拷贝的几种方式(详细阅读 非常重要)。
  19. Docker入门讲解
  20. 聚焦分布式资本:中国首家区块链基金如何布局区块链

热门文章

  1. matlab信源编码,常见无失真信源编码算法及Matlab实现比较(27页)-原创力文档
  2. 基于 GMDSS 的电子海图定位仿真研究
  3. 静止轨道卫星几何校正——FY-4A几何校正(风云系列静止卫星可以参考)
  4. C1. Simple Polygon Embedding(计算几何)
  5. Visual C++ 2010 (中文)学习版 安装教程
  6. windows用户密码破解
  7. MATLAB【函数求导与积分】
  8. 推荐系统的4个方面完全总结
  9. 查看Android打包时签名文件keystore的MD5值
  10. 毕向东_Java基础