前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel中的VBA编程「建议收藏」

Excel中的VBA编程「建议收藏」

作者头像
全栈程序员站长
发布2022-08-23 21:07:12
3.8K0
发布2022-08-23 21:07:12
举报

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

目的:有时我们需要对Excel文件中大量的数据进行整理,此时如果使用手动整理会非常繁琐而且容易出错。而如果采用VBA语言,在Excel中根据需求编写一段简单的代码就能自动完成大量数据的整理工作。

1、以Excel 2007为例,如果要进行VBA编程,需要启用“开发工具” 选项。在Excel 选项对话框中勾选【在功能区显示“开发工具“选项卡】复选框。

在开发工具选项中点击“查看代码”,打开Microsoft Visual Basic界面。

Excel中的VBA编程「建议收藏」
Excel中的VBA编程「建议收藏」

2、在Microsoft Visual Basic界面中点击“插入–>模块”菜单,添加一个“模块1”。并在该模块中添加一个名为Test的函数,如下所示:

Excel中的VBA编程「建议收藏」
Excel中的VBA编程「建议收藏」

在Sub 和End Sub间添加函数体,并保存。注意一定要将Excel文件保存为启用宏的工作薄(*.xlsm)格式。

3、然后点击开发工具选项中的宏按钮,打开如下对话框

Excel中的VBA编程「建议收藏」
Excel中的VBA编程「建议收藏」

选择Test,并点击执行。就能运行你所编写的Test函数。

基本语法:

1、给当前工作表的A1单元赋值10

代码语言:javascript
复制
ActiveSheet.Range("A1").Value = 10 
或 Range("A1").Value = 10 
或 ActiveSheet.Cells(1, 1).Value = 10 
或 Cells(1, 1).Value = 10

2、给Sheet2工作表的A2单元赋值10

代码语言:javascript
复制
Sheet2.Range("A2").Value = 10 
或 Sheet2.Cells(2, 1).Value = 10
或 Worksheets("Sheet2").Cells(2, 1).Value = 10

3、将Sheet2的A1到B2四个单元的内容复制到Sheet1的A1到B2四个单元中

代码语言:javascript
复制
Sheet1.Range("A1:B2").Value = Sheet2.Range("A1:B2").Value

4、定义并使用工作表变量

代码语言:javascript
复制
Dim MySheet As Object
Set MySheet = Sheet1
MySheet.Cells(2, 1).Value = 10 '将Sheet1中的A2单元内容设置为10

5、定义并使用一个整型变量和数组

代码语言:javascript
复制
Dim Num As Integer '定义一个整型变量Num
Dim Color As Variant '定义一个可变类型变量Color
Num = 1 '将Num赋值为1
Color = Array(36, 33, 38, 35, 40) '将Color赋值为一个存放颜色索引号的数组
Sheet1.Cells(1, 1).Interior.ColorIndex = Clor(Num) '将Sheet1的A1单元格的颜色改为36号颜色

6、定义并使用一个字符串变量

代码语言:javascript
复制
Dim MyString As String
MyString = "const" & "const1"
Sheet1.Range("A1").Value = MyString  'A1的内容就变为constconst1

7、for循环

代码语言:javascript
复制
For i = 0 To 10
···
Next i

8、If 语句

代码语言:javascript
复制
If i = 2 Then '如果i等于2

Else

End If

9、While语句

代码语言:javascript
复制
List = 1
Do While Sheet1.Cells(1, List).Value <> ""  '遍历Sheet1的单元格A1、A2··,直
                                            '到遇到内容为空的单元格,退出while循环

  List = List + 1
Loop

10、实现单元格中内容换行的字符

代码语言:javascript
复制
Chr(10)

11、检测文件是否存在

代码语言:javascript
复制
Dir(完整路径的文件名) '文件存在则返回文件名,不存在则返回为空

12、从B列的最后一个单元格往上查找,并返回遇到的第一个非空单元格所在的行号

代码语言:javascript
复制
Range("B65536").End(xlUp).Row

13、从字符串“100/200″中取出”200″字符串

代码语言:javascript
复制
Split("100/200", "/")(1)

14、获取当前工作表的索引号,并通过索引号获取表名

代码语言:javascript
复制
ActiveSheet.index '获取索引号
Sheets(index).Name '获取表名

15、将表Sheet1设置为当前的工作表

代码语言:javascript
复制
Sheet1.Activate

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档