Excel之VBA简单宏编程

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光标处添加断点
调试->添加监视添加监视
  • 73
    点赞
  • 521
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值