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

Excel中的VBA编程「建议收藏」目的:有时我们需要对Excel文件中大量的数据进行整理,此时如果使用手动整理会非常繁琐而且容易出错。而如果采用VBA语言,在Excel中根据需求编写一段简单的代码就能自动完成大量数据的整理工作。以Excel2007为例,如果要进行VBA编程,需要启用“开发工具”选项。在Excel选项对话框中勾选【在功能区显示“开发工具“选项卡】复选框。基本语法:1、给当前工作表的

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

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

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

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

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

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

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

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

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

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

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

基本语法:

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

ActiveSheet.Range("A1").Value = 10 
或 Range("A1").Value = 10 
或 ActiveSheet.Cells(1, 1).Value = 10 
或 Cells(1, 1).Value = 10

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

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四个单元中

Sheet1.Range("A1:B2").Value = Sheet2.Range("A1:B2").Value

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

Dim MySheet As Object
Set MySheet = Sheet1
MySheet.Cells(2, 1).Value = 10 '将Sheet1中的A2单元内容设置为10

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

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、定义并使用一个字符串变量

Dim MyString As String
MyString = "const" & "const1"
Sheet1.Range("A1").Value = MyString  'A1的内容就变为constconst1

7、for循环

For i = 0 To 10
···
Next i

8、If 语句

If i = 2 Then '如果i等于2

Else

End If

9、While语句

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

  List = List + 1
Loop

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

Chr(10)

11、检测文件是否存在

Dir(完整路径的文件名) '文件存在则返回文件名,不存在则返回为空

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

Range("B65536").End(xlUp).Row

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

Split("100/200", "/")(1)

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

ActiveSheet.index '获取索引号
Sheets(index).Name '获取表名

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

Sheet1.Activate

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • sort用的什么排序算法_lambda表达式有什么组成

    sort用的什么排序算法_lambda表达式有什么组成sort()与拉姆达表达式的结合#include<iostream>#include<string>#include<vector>#include<ctime>#include<map>#include<utility>#include<algorithm>usingstd::…

  • 角度和弧度之间的转换

    角度和弧度之间的转换在编程中,我们经常会用到角度或者弧度,但是往往我们所得到的不是角度就是弧度,需要转换一下才能用到,这里我总结了角度和弧度之间的转换,1、转换方法:角度转弧度π/180×角度弧度变角度180/π×弧度例:角度转弧度//其中a是最开始的角度,现在将它转换成弧度制a//4*atan(1.0)就是我们用到的圆周率π,不管角度还是弧度,都是double型voidCBa…

  • python语言变量命名规则有什么_Python变量命名规则(超级详细)

    python语言变量命名规则有什么_Python变量命名规则(超级详细)Python需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名字)。Python语言的标识符必须以字母、下画线(_)开头,后面可以跟任意数目的字母、数字和下画线(_)。此处的字母并不局限于26个英文字母,可以包含中文字符、日文字符等。由于Python3支持UTF-8字符集,因此Python3的标识符可以使用UTF-8…

  • java 查看线程死锁_java 查看线程死锁

    java 查看线程死锁_java 查看线程死锁那我们怎么确定一定是死锁呢?有两种方法。1>使用JDK给我们的的工具JConsole,可以通过打开cmd然后输入jconsole打开。1)连接到需要查看的进程。2)打开线程选项卡,然后点击左下角的“检测死锁”3)jconsole就会给我们检测出该线程中造成死锁的线程,点击选中即可查看详情:从上图中我们可以看出:①在线程Thread-1中,从状态可以看出,它想申请Paper这个资源,但是这个资…

  • 人工智能 – 五子棋人机对战

    人工智能 – 五子棋人机对战人工智能 – 五子棋人机对战作者:jig    阅读人次:6635    文章来源:本站原创    发布时间:2007-7-12    网友评论(8)条 
    原帖及讨论:http://bbs.bccn.net/thread-154777-1-1.html
    */————————————————————————————–
    */出自:编程中国  http://www.

  • 考研数学常见的不等式及其证明[通俗易懂]

    考研数学常见的不等式及其证明[通俗易懂]几个常用的不等式1.伯努利不等式命题:设h>−1,n∈N+h>-1,n\in\mathbf{N}_{+}h>−1,n∈N+​,则成立不等式(1+h)n⩾1+nh(1+h)^{n}\geqslant1+nh(1+h)n⩾1+nh其中当n>1n>1n>1时成立等号的充分必要条件是h=0h=0h=0证明:由于n=1n=1n=1或h=0h=0h=0时不等式明显成立(且其中均成立等号),一下只需讨论n>1n>1n>1和h≠0h\neq

发表回复

您的电子邮箱地址不会被公开。

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