Excel之VBA简单宏编程

2022-07-01 18:13:46 浏览数 (1)

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

Excel之VBA简单宏编程

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

文章目录
  • Excel之VBA简单宏编程
    • 1、准备工作
    • 2、VBA编程
      • 2.1模块声明
      • 2.2变量声明及赋值
      • 2.3if-else结构
      • 2.4循环结构
      • 2.5比较运算符
      • 2.6注释
    • 3、常用功能
      • 3.1获取表格数据
      • 3.2复制单元格且保留原单元格列宽
      • 3.3设置单元格、某一行或某一列颜色
      • 3.4获取表格有用列数和有用行数
    • 4、调试运行

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结构
代码语言:javascript复制
If ······ Then
  ······
ElseIf ······ Then
  ······
Else
  ······
End If
2.4循环结构
代码语言:javascript复制
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复制单元格且保留原单元格列宽
代码语言:javascript复制
Sheets(name_1).Cells(i, k).copy
Sheets(name_result).Cells(i,k).PasteSpecial xlPasteColumnWidths
3.3设置单元格、某一行或某一列颜色
代码语言:javascript复制
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获取表格有用列数和有用行数
代码语言:javascript复制
irows1 = Sheets(name_1).UsedRange.Rows.Count
icolumns1 = Sheets(name_1).UsedRange.Columns.Count
4、调试运行

快捷键

功能

F8

逐语句运行

Shift F8

逐过程运行

Ctrl F8

运行到光标处

F9

光标处添加断点

调试->添加监视

添加监视

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

vba

0 人点赞