在VBA中主要通过对EXCEL表格对象的值以及属性进行修改,来达到我们想要的数据处理效果,今天着重介绍一下在日常工作中常用的几个EXCEl对象。熟练掌握这几个对象后,应对一些复杂的、庞大的数据处理工作时绰绰有余了。
常用的对象有这么几个:
主要又这几个用法:
Workbooks.Open,打开文件。相当于“文件->打开”命令。用法:
Workbooks.Open FileName:="D:\今日头条\20180502\Excel演示.xls"
Workbooks.Open "D:\今日头条\20180502\Excel演示.xls"
Workbooks.Add。新建一个空白的工作簿,相当于“文件->新建”命令。
Workbooks.Save。保存文件。常用在关闭文件之前,功能和Ctrl+S 相同。
Workbooks.Close。关闭文件。
用法:Workbooks(1).Close SaveChanges:=False 关闭工作簿,并且不保存,改为True则是保存并关闭。
下面是打开文件,然后修改文件,并保存。
Sub 打开修改文件并保存()
Path = "D:\今日头条\Excel VBA 培训A\计划.xls"
Workbooks.Open FileName:=Path
Sheets(1).Activate
Cells(1, 1) = "今日头条"
Cells(1, 1).Font.Name = "宋体"
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
ThisWorkbook是对程序所在工作簿的引用;宏文件保存的那个文件。
ActiveWorkbook是对活动工作簿的引用;窗口显示的那个工作薄文件。
其他补充:
Workbooks.Name:返回 工作簿文件的名称
Workbooks.FullName:返回 工作簿文件的文件路径+名称
Workbooks.Path:返回 工作簿文件的文件路径
Worksheets引用的方式有两种,a. 根据索引号(从1开始) b.根据工作表名称
Worksheets(1) 和Worksheets("Sheet1") 是等效的 (默认没有改工作表名字而且没有移动工作表顺序的情况下)。
Worksheets.Add:新建工作表
用法:Worksheets.Add([Before], [After], [Count], [Type])
Worksheets.Add before:=Worksheets(1), Count:=2, Type:=xlWorksheet
‘意思是在第1个表前加入两个工作表,同样的Before和After不能同时使用。
Worksheets.Move:移动工作表
用法:Worksheets.Move([Before], [After])
Worksheets("工作表1").Move before:=Worksheets("工作表2"):将“工作表1”移动到”工作表2之前“
Worksheets.Delete删除工作表
用法Worksheets("工作表").Delete
Worksheets("Sheet1").Delete :删除"Sheet1"表。
Application.DisplayAlerts = False '关闭提醒,删除之前需要加上这句,不如会弹出确认删除提示。
工作表重命名及设置标签颜色
WorkSheet(1).Name = "名称"
WorkSheet(”工作表1“).Tab.ColorIndex =colorId
比如:激活工作表
Sheets(1).Activate
Sheets("工作表 3").Activate
主要用法:
Range("1:1").Interior.ColorIndex = 3 '选中第一行
Range("A:A").Interior.ColorIndex = 4 '选中第一列
Range("B2").Interior.ColorIndex = 5 '选中B2单元格
Range("C3:E4").Interior.ColorIndex = 6 '选中两个单元格之前的区域
Range("C5:D6", "D7:F8").Interior.ColorIndex = 7 '选中两选区的之间区域
通过不同的参数选定不同的区域,然后对选区内的属性赋值修改。比如设置背景颜色,边框,字体大小等等。
Range("C3:E4").Interior.ColorIndex = 6 '选中两个单元格之前的区域
也可以这样写:
Range(Cells(3,3),Cells(4,5)).Interior.ColorIndex = 6 '选中两个单元格之前的区域
主要用法:
Cells(行号,列号):B3单元格在第3行第二列,表示为Cells(3,2),
Rows(行号):第二行,表示为Rows(2),
Columns(列号):C列,右边数第3列,表示为Columns(3)。
示例:
Cells(1, 2).Interior.ColorIndex = 3 'B2单元格
Cells(4, 1).Interior.ColorIndex = 6 'A4单元格
Rows(3).Interior.ColorIndex = 4 '第3行
Columns(3).Interior.ColorIndex = 5 '第3列
相比于Range,Cells对象灵活更强,主要原因是可以配合循环或判断语句调整所需要修改的单元格。
比如下面的九九乘法表:
这几个对象是在实际应用的常用的,学会Workbook之后,可以对多个文件进行数据、格式进行修改。学会Worksheet可以同时对多个Sheet表进行修改。Range对象、Cells对象、Rows对象、Columns对象则是对要修改的位置做更精确地定位。有时还需要结合循环语句和判断语句来精确定位到我们要修改的位置。做个类比,你要给远在浙江省苏州市杨武县小河镇的铭铭家发快递。快递分拣的时候肯定分到江苏省(Workbook文件操作对象),然后是苏州市(Worksheet),然后再到镇(Range、Rows、Columns、Cells),有时还需要一些判断条件来判断是否是铭铭家。
等定位要精确位置之后,我们才开始修改我们要修改的数据。我们可以通过对象的这几个属性进行修改。
Font 字体属性,字体属性又有字体大小、颜色、类型、加粗等属性;
Interior属性(背景颜色属性);
Borders属性(边框);
HorizontalAlignment水平对齐属性;
VerticalAlignment垂直对齐属性。
比如 :
Cells(1,2).Font.name ="黑体" ‘设置B2单元格字体为黑体。
Range("A1","A10").Font.size=16 '设置选区内字体大小为16。
Rows(1).Interior.ColorIndex = 6 '设置第一行背景颜色大小为黄色。
Columns(1).HorizontalAlignment =xlVAlignCenter ’ '设置第一列垂直居中。
这些属性不知道怎么写的话可以通过宏录制,将所需的代码录制出来。
这是录制出来的代码。
Sub Macro1()
Range("A1:I1").Select
'将Select这句去掉, 下面的Selection 直接换成 Cells(1,3) 或者Rows(1)等对象就可以了。
Selection.Font.Name = "华文中宋" ’字体
Selection.Font.Size = 22 ‘字体大小
Selection.Font.Bold = True’ 字体加粗
With Selection.Interior ‘背景颜色
.Pattern = xlPatternSolid
.Color = 65535
.TintAndShade = 0
End With
End Sub
修改后的代码,用同样的方式也可以录制边框和对齐属性。
Sub Macro1()
'
Rows(1).Font.Name = "华文中宋"
Rows(1).Font.Size = 22
Rows(1).Font.Bold = True
With Rows(1).Interior
.Pattern = xlPatternSolid
.Color = 65535
.TintAndShade = 0
End With
End Sub
打开文件后,在开发工具里面,点击VB编辑器即可打开(office自带VBA,WPS 需要安装VBA for WPS)
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【大学vb考试重点(EXCEL)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
