Excel之VBA简单宏编程

Excel之VBA简单宏编程Excel之VBA简单宏编程excel是一款很经典的数据分析的工具,里面包含了很多内置函数,但实际情况有时却复杂得多,而excel的宏编程提供了自定义函数的功能,正好有老师需要帮忙做一些数据分析,就学习了一下,下面是我的学习笔记。本人使用的是excel2013。有出入的地方可以参考。Excel之VBA简单宏编程1、准备工作2、VBA编程2.1模块声明2.2变量声明及赋值2…

大家好,又见面了,我是你们的朋友全栈君。

Excel之VBA简单宏编程

excel是一款很经典的数据分析的工具,里面包含了很多内置函数,但实际情况有时却复杂得多,而excel的宏编程提供了自定义函数的功能,正好有老师需要帮忙做一些数据分析,就学习了一下,下面是我的学习笔记。本人使用的是excel2013。有出入的地方可以参考。

1、准备工作

  • 打开开发工具面板(excel的主选项卡默认是没有开发工具选项卡的)

文件->选项->自定义功能区->
这里写图片描述
这时候主选项卡就有开发工具项了

  • 进入vba编辑

点击visual basic进入
这里写图片描述
在VBAProject上右键->插入->模块
出现一个编辑文件如下图
这里写图片描述
然后就可以在这里写入vba代码。

2、VBA编程

2.1模块声明

  类似于一个程序,一个模块要有一个主程序入口即模块声明,如
Sub sname() ··· ··· End Sub

2.2变量声明及赋值

  声明格式为:
Dim ‘变量名称’ As ‘变量类型’
  如
Dim i As Integer Dim str As String
  赋值格式为:
i = 3
str = “hello world!”
  直接等号赋值

数据类型 定义符号 备注
字符串 String
整型数字 Integer -32768~32767
长整型数字 Long -2147483648~2147483647
单精度浮点型数字 Single 精度为6
双精度浮点型数字 Double 精度为14
日期型 Date
布尔型 Boolean
变体型 Variant 万用的类型,尽量避免使用
对象型 Object 没有深究
枚举型

枚举类型数据定义格式:
Public|Private Enum 变量名
  成员1[=常数表达式1]
  成员1[=常数表达式1]
  ··· ···
End Enum
例如:
Public Enum WorkDays
  星期日
  星期一
  星期二
  星期三
  星期四
  星期五
  星期六
End Enum

2.3if-else结构
If ······ Then
  ······
ElseIf ······ Then
  ······
Else
  ······
End If
2.4循环结构
Do While ······
  ······
Loop
For i = 0 To 100 Step 1
  ······
Next i

跳出for循环可以用 Exit For

2.5比较运算符
名称 运算符
等于 =
不等于 <>
小于 <
小于等于 <=
大于 >
大于等于 >=
字符串匹配 Like
2.6注释

  VBA里的单行注释以单引号'标识

3、常用功能

3.1获取表格数据
  • 获取第i行j列单元格数据
    Sheets(‘表格名’).Cells(i,j).Value
  • 获取第i行数据
    Sheets('表格名').Rows(i)
  • 获取第j列
    Sheets('表格名').Columns(j)
  • 获取一块
    Range("a1:b60")
3.2复制单元格且保留原单元格列宽
Sheets(name_1).Cells(i, k).copy
Sheets(name_result).Cells(i,k).PasteSpecial xlPasteColumnWidths
3.3设置单元格、某一行或某一列颜色
Sheets(name_1).Rows(i).Interior.ColorIndex = 3'
Sheets(name_1).Rows(i).Font.ColorIndex = 1
Sheets(name_1).Cells(i,j).Interior.ColorIndex = 3'
Sheets(name_1).Cells(i,j).Font.ColorIndex = 1

这里写图片描述

3.4获取表格有用列数和有用行数
irows1 = Sheets(name_1).UsedRange.Rows.Count
icolumns1 = Sheets(name_1).UsedRange.Columns.Count

4、调试运行

快捷键 功能
F8 逐语句运行
Shift+F8 逐过程运行
Ctrl+F8 运行到光标处
F9 光标处添加断点
调试->添加监视 添加监视
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130843.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Air系列模块常见问题列表[通俗易懂]

    Air系列模块常见问题列表[通俗易懂]目录名称一、Luatools使用问题1.1烧录下载 1.1.1、2G模块无法烧录下载 1.1.2、2G开发板无法烧录下载 1.1.3、4G模块(开发板)无法烧录下载 1.1.4、生成量产文件时的加密功能有什么用 1.1.5、4G开发模式下的“USB打印Trace、UART1打印Trace、UART2打印Trace”是什么功能 1.1.6、Luat开发方式下可以烧录哪种类型的文件 1.1.7、脚本代码中如何读取通过Luatools烧录进模块的文件 1.1.8、Luat开发方式下可以烧录某

    2022年5月12日
    39
  • 深度学习: RPN (区域候选网络)

    深度学习: RPN (区域候选网络)Overview绿框内为RPN所在的位置:放大之后是这样:庖丁解牛RPN由以下三部分构成:在RPN头部,通过以下结构生成anchor(其实就是一堆有编号有坐标的bbox):论文中的这幅插图对应的就是RPN头部:(曾经以为这张图就是整个RPN,于是百思不得其解,走了不少弯路。。。)在RPN中部,分类分支(cls)和边框回归分支(b…

    2022年6月23日
    101
  • L2-004这是二叉搜索树吗(二叉搜索树)

    L2-004这是二叉搜索树吗(二叉搜索树)原题链接一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。输入格式:输入的第一行给出正整数 N(≤1000)。随后一行给出 N 个整数键值,其间以空格分隔。输出格式:如果输入序列是对一棵二叉搜索树或

    2022年8月9日
    3
  • MySQL的简单查询语句「建议收藏」

    MySQL的简单查询语句「建议收藏」查询:一:查询所有数据select * from Info 查所有数据select Code,Name from Info 查特定列二:根据条件查select * from Info where Code=’p001′ 一个条件查询select * from Info where Code=’p001′ and Nation=’n001′ 多条件 并关系 查询select * from Info …

    2022年6月13日
    55
  • SpringBoot框架总结

    SpringBoot框架总结SpringBoot框架总结一、SpringBoot框架的概念1、传统框架的弊端例如传统的SSM框架整合了MyBatis、Spring、SpringMVC框架,但其需要繁琐且重复的配置使程序员很是痛苦2、SpringBoot框架SpringBoot框架在传统框架的基础上对其进一步封装,只需要一些简单的配置,省去了传统框架繁琐的配置,解放了程序员,使程序员只需要关注业务而无需将经历花费在框架的配置上,大幅提高了编程的效率二、SpringBoot框架的创建1、idea创建SpringBoot工程

    2022年8月21日
    22
  • es6拼接字符串有几种写法_es6字符串包含

    es6拼接字符串有几种写法_es6字符串包含ES6模板字符串 作用:简化字符串的拼接 语法:`字符串内容${变量}字符串内容`; “为波浪线那个键的符号代码示例:<htmlng-app=’app’ng-controller=’main’><head> <metacharset=”utf-8″> <metaname=’viewport’content=’widt…

    2022年8月21日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号