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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于人脸识别的考勤系统:Python3 + Qt5 + OpenCV3 + FaceNet + MySQL

    基于人脸识别的考勤系统:Python3 + Qt5 + OpenCV3 + FaceNet + MySQL本项目使用Python3.8编写,QtDesigner(QT5)设计主界面,PyQt5库编写控件的功能,使用开源FaceNet人脸识别算法进行人脸识别,使用眨眼检测来实现活体识别,使用OpenCV3实现实时人脸识别。同时,将班级学生信息,各班级学生人数、考勤信息录入到MySQL数据库中,方便集中统一化管理。因为本项目仅由我一个人开发,能力精力有限,实现了预期的绝大多数功能,但是活体检测功能还存在bug,如果小伙伴对本项目中有不懂的地方或者发现问题,欢迎提出。

    2022年5月13日
    46
  • QMap与QHash

    QMap与QHash转载:http://newfaction.net/2010/11/17/qt-qhash-and-qmap-difference.html关联容器可以保存任意多个具有相同类型的项,且它们由一个键索引。Qt提供两个主要的关联容器类:QMap&lt;K,T&gt;和QHash&lt;K,T&gt;。     QMap&lt;K,T&gt;是一个以升序键顺序存储键值对的数据结构…

    2022年5月29日
    36
  • plotyy函数_plotyy函数参数设置[通俗易懂]

    plotyy函数_plotyy函数参数设置[通俗易懂][ax,h1,h2]=plotyy(x,a,x,sig0);set(ax,’Xlim’,[7.4,8.4],’XMinorGrid’,’on’)%设置x轴范围,并显示更细密的网格set(h1,’color’,’k’,’linewidth’,1);%设置y1的颜色为黑色,线宽为1set(h2,’color’,’r’,’linewidth’,1);%设置y2的颜色为红色,线宽为1set(get(ax(…

    2022年6月14日
    72
  • Python元组_python排列组合多少种怎么写

    Python元组_python排列组合多少种怎么写元组元组的特点:是一种不可变序列,一旦创建就不能修改拆包将元组的元素取出赋值给不同变量>>>a=('hello','world',1

    2022年7月29日
    8
  • linux系统中如何卸载删除软件_卸载预装软件app

    linux系统中如何卸载删除软件_卸载预装软件appLinux下如何卸载软件比如我在Linux下安装了Mysql,但是现在我要卸载重装,提示卸载失败,有其它的服务或软件如php-mysql-5.1.6-3;mysql-server-5.0.22-2.1依赖于Mysql。我可以加–nopeds来卸载Mysql,但是依赖于Mysql的软件或服务是不是也要卸载?我把Mysql卸载了,现在安装了RPM包的mysql-server和Mysql-client…

    2025年10月12日
    5
  • SpringBootTest 和PowerMocker

    SpringBootTest 和PowerMockerimportstaticorg.junit.Assert.assertNotEquals;importstaticorg.junit.Assert.assertNotNull;importstaticorg.junit.Assert.assertTrue;importjava.util.HashMap;importjava.util.Map;importorg…

    2022年6月5日
    34

发表回复

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

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