Excel中的VBA编程

原创 2015年07月08日 17:34:21

目的有时我们需要对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













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

(ExcelVBA编程入门范例)

很喜爱VBA,喜欢使用她对Excel操作实现所需的功能,更喜欢使用VBA控制Excel以及实现结果后的那种感觉。一直都想对ExcelVBA进行系统的整理和归纳,但由于对Excel及VBA了解得不够深入...
  • ZOU_SEAFARER
  • ZOU_SEAFARER
  • 2007年01月26日 15:58
  • 4148

Excel VBA编程常用语句300句

Excel VBA编程常用语句300句 ************** * VBA 语句集 * * (第 1 辑) * ************** **************** * 定...
  • xys_777
  • xys_777
  • 2011年10月28日 12:04
  • 4391

一小时搞定简单VBA编程 Excel宏编程快速上手

Excel宏编程可以快速完成批量表格操作:复制粘贴、数据过滤等,宏代码基于VB语言实现,有基础的编程经验就能快速阅读。下面是我的学习笔记。1. Excel VBA编辑界面(进入路径: sheet名称 ...
  • u014339020
  • u014339020
  • 2018年01月19日 09:45
  • 339

Excel VBA 编程练习

根据表单名称从work查找
  • lsj308
  • lsj308
  • 2014年04月30日 22:27
  • 1437

Excle也能编程-VBA小工具

工作中有用到,就学习了一下VBA编程。发现这个真的可以使得Excle工作效率倍增。 工作需求,为照片粘贴档案条。需要将一条条数据,转换为小纸片并且按照特殊样式排序。 完成后像这样其实要完成这个还是...
  • github_33934628
  • github_33934628
  • 2017年02月06日 23:40
  • 457

教你快速入门Excel-宏与VBA(上)

    最近在做项目的时候用到了Excel宏和VBA,本着共享的原则,我把收集的资料结合项目实践操作进行了总结之后制作了本教程,旨在帮初学者入门,特别是有一定VB基础的同学,可以通过此教程快速掌握宏和...
  • small_baby01
  • small_baby01
  • 2014年03月28日 22:06
  • 17781

VBA - Excel编程概念之:【单元格和区域】二、在单元格区域中循环

在单元格区域中循环使用 Visual Basic 时,经常需要对某一单元格区域内的每个单元格运行同一段语句。为达到这一目的,可组合循环语句和一个或多个方法来标识每个单元格,一次针对一个单元格,并执行该...
  • LeosHope
  • LeosHope
  • 2007年06月16日 12:05
  • 2570

Excel_VBA_编程教程(完整版)

http://wenku.baidu.com/link?url=j7yxykC9P7sbbvMgNFIHfvA1qxO1ZKS4e7D70fwk_SEXiFGHn9CdUyMXeGVSMQIcrH33...
  • nodeman
  • nodeman
  • 2015年08月25日 15:25
  • 840

EXCEL VBA编程基础

PS:建议从“二)、基本概念”开始看起,前面的大部份人都知道了。Excel 最重要的应用就是利用公式进行计算。无论输入是纯粹的数字运算,还是引用其他单元格计算,只要在一个单元格中输入公式,就能得到结果...
  • jyh_jack
  • jyh_jack
  • 2008年05月13日 16:16
  • 8262

关于 Excel 2003 vba usedrange属性

关于 Excel 2003 vba usedrange属性 vba usedrange属性 如果您想知道当前工作表中所有已使用的单元格区域的大小,或者您想引用当前工作表中已使用的区域,...
  • u012970263
  • u012970263
  • 2015年06月04日 20:31
  • 659
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Excel中的VBA编程
举报原因:
原因补充:

(最多只允许输入30个字)