Excel中的VBA编程

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

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

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

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

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

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

选择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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-21 22:33:19

Excel中的VBA编程的相关文章

Excel中使用VBA进行度分秒与十进制度的转换

发现Excel的VBA功能真是批量处理的一把利刃,工作中小试牛刀了一把,将Excel中度分秒形式的坐标批量处理成十进制度形式,处理完后用于GIS展点制图. 原Excel数据如下: VBA代码如下: 1 Sub Coorder() 2 Dim Longitude, Latitude As String, arr 3 Dim num As Integer 4 Dim LongColIdx As Integer 5 Dim latColIdx As Integer 6 LongColIdx = 3 7

Excel 中使用 VBA 控制多个透视表(pivot table)的实现

困绕很久的一个问题终于解决了.需求是在 Excel 中有很多个透视表,每个透视表的数据源是相同的,我希望让这些透视表的某个过滤条件一起联动. 比如我有三个透视表,我希望让三个表的Month选项都改成“2014-12”.查来查去发现只能用VBA实现了. 具体代码如下: Public Sub FilterPivotTable() Dim ORG ORG = ActiveSheet.PivotTables("数据透视表6").PivotFields("[BRANCH_DBVIN].

VBA在Excel中的应用(一):改变符合条件单元格的背景颜色

在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择.手工处理的方式简单快捷,但是当遇到大批量数据,就会特别的费时费力,而且不讨好(容易出错).通过代码来处理是个不错的选择,excel可以通过VBA编程来处理内部数据,在打开excel页面后,可以通过“alt + F11”组合键来启动VBA编程界面,跟VB的编程界面和语法一样,需要注意的是如何调用excel的内容.VBA通过sheet, range和cells三个层次来调用excel中的制定区域

excel vba编程,是在一段表格中插入几行后,插入行后的行整体下移,不破坏原有数据内容,

Range(Rows(3), Rows(5)).Insert shift:=xlDown 1)在当前单元格处插入一行 : 可以增加循环语句来实现插入多行Range("A10").SelectSelection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove 2)在当前选择行处插入与选择行数相同的行数: 可更改行号来实现不同地方的插入. Rows("10:11").Select Selection.Inse

[Powershell / VBA] 把excel中的表分离成独立的excel文件

This article also published in Eng @ http://www.cnblogs.com/LarryAtCNBlog/p/4441201.html 今天在两个地方看到了这样一个问题:把一个excel中的表复制出来另存为一个独立的excel文件.其中一个是cnblog,另一个想不起来了.想到自己将来也可能遇到这样的问题,于是用powershell做了一个脚本以备不时之需. Powershell 当然,首先要有一个excel文件包括了一堆表. 用脚本自动化excel最常

excel中VBA的使用

遇到的问题 在工作中遇到了一点小小的问题,需要给我负责带的班级的同学们测试男生1000米,女生800米的成绩.表格是这样的: 体育成绩表 序号 班级 姓名 性别 男1000.女800 成绩 1 1 张三 男 3.50   2 1 李四 女 3.44   我们在录入完成绩后,需要按照一定的标准去给出学生成绩,标准是这样的: 需要我们根据每个学生的成绩,给出对应的分数.于是,我就计算了下我的工作量:每个人对应的需要给分数,总共需要给六个班 x 70 个人也就是差不多420个人给分数.那样的一个工作量

通过VBA在Excel中添加菜单和菜单项按钮(Excel启动时候添加)

将以下代码保存到.xlam或.xla(Excel97-2003)文件. 在ThisWorkBook对象中,添加Workbook_Open事件,调用启动菜单过程. Private Sub Workbook_Open() Call MenuSetup(True) End Sub '----------------------------------------------- '在Excel中添加菜单和菜单项按钮(Excel启动时候添加) '------------------------------

excel中vba将excel中数字和图表输出到word中

参考:https://wenku.baidu.com/view/6c60420ecc175527072208af.html 比如将选区变为图片保存到桌面: 1 Sub 将选区转为图片存到桌面() 2 Dim ans As Byte, Pic As String, Paths As String 3 On Error Resume Next 4 Paths = CreateObject("WScript.Shell").SpecialFolders("Desktop"

Excel中的宏--VBA的简单例子

第一步:点击录制宏 第二步:填写宏的方法名 第三步:进行一系列的操作之后,关闭宏 第四步:根据自己的需要查看,修改宏 第六步:保存,一般是另存为,后缀名为.xlsm,否则宏语言不能保存. 到此为止恭喜你一个简单的宏已经制作成功,当然宏也可以调用Excel中的公式,例如:sum等,排序,布局,查询,等. Excel中常用对象的简单介绍: 800x600 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternet