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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows如何在局域网下共享文件(传输文件、修改文件)

    windows如何在局域网下共享文件(传输文件、修改文件)前些天在了解Git版本控制的时候,看到了“局域网下可以共享文件(阅读or修改)”。发现自己之前都没了解过这个,虽然用着GitHub却对其来源的变化不甚了解。于是就动手操作了一下windows如何在局域网下共享文件。对,还有一些局域网下的传输软件。但我还没有去了解,所以在这里先不说了。什么是局域网局域网(LocalAreaNetwork,LAN),又称内网。指覆盖局部区域(如办公室…

    2022年5月4日
    208
  • 怎么设置pycharm的背景色为黑色_怎么修改pycharm背景的颜色

    怎么设置pycharm的背景色为黑色_怎么修改pycharm背景的颜色有时候我们在使用pycharm软件时,想切换pycharm软件的背景色为黑色,怎么切换pycharm软件的背景颜色为黑色?下面来分享一下方法。工具/原料pycharm软件电脑一台方法/步骤1电脑的开始菜单上找到并点击打开【pycharm】软件。2然后点击pycharm软件左上角的【File】选项,进入切换为黑色背景。3然后在弹出的菜单中点击【settings】选项。4然后点击【Appearance…

    2022年8月28日
    3
  • linux查看当前环境变量的命令_linux添加环境变量

    linux查看当前环境变量的命令_linux添加环境变量1.显示环境变量HOME$echo$HOME/home/redbooks2.设置一个新的环境变量hello$exportHELLO=”Hello!”$echo$HELLOHello!3.使用env命令显示所有的环境变量$envHOSTNAME=redbooks.safe.orgPVM_RSH=/usr/bin/rshShell=/bin/bashTERM=xtermHISTSIZE=1000…4.使用set命令显示所有本地定义的She

    2022年9月30日
    5
  • 线程池参数及配置「建议收藏」

    线程池参数及配置「建议收藏」线程池-线程池参数及配置在实际项目中线程的应用都会使用线程池来管理,线程池的常用参数及配置学习记录。目录线程池-线程池参数及配置一、线程池在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如果并发的线程数多,并且每个线程都是…

    2022年5月3日
    92
  • pycharm社区版下载安装教程_pycharm社区版下载

    pycharm社区版下载安装教程_pycharm社区版下载原文链接:PyCharm社区版的下载与安装PyCharm社区版的下载与安装以PyCharm2018.3.4社区版本为例:打开:PyCharm官网,选择Download选择社区版下载双击可执行文件进行安装,如果出现用户账户控制,选择是即可进入安装界面,选择Next选择安装位置安装选项这里:createdesktopshortcut:根据系统位数勾选对应的选项updatepathvariable:可以勾选将启动器添加到pathupd

    2022年8月28日
    4
  • concat效率 mysql_Mysql常用函数之Concat函数

    concat效率 mysql_Mysql常用函数之Concat函数本篇文章主要介绍了MySQL中concat函数的用法(连接字符串),在命令行模式下进行测试。1.MySQL中concat函数使用方法:CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL,则返回值为NULL。注意:(1)如果所有参数均为非二进制字符串,则结果为非二进制字符串。(2)如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。MySQ…

    2022年5月5日
    58

发表回复

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

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