Excel VBA 学习笔记

Excel VBA 常用对象:

Application  Excel应用程序

Workbook  Excel 工作簿

Worksheet  工作表

Range  单元格


Application对象

Application对象四种属性:ScreenUpdating属性;DisplayAlerts属性;EnableEvents属性;WorksheetFunction属性。

Application.ScreenUpdating = False/True    是否显示计算结果到屏幕上。

Application.DisplayAlerts = False    不显示警告信息

Application.Events = False    禁用事件,先禁用事件再开启事件可以防止程序进入死循环。

WorksheetFuncton可以使用Excel中的函数(如CountIF),例如:

Dim count As Integer

count = Application.WorksheetFunction.CountIF(Range("A1:B50") > "100")

引用对象把每一级对象名写清楚:

Application.Workbooks("Book1").Worksheets("Sheet1").Range("A1")  选择A1单元格,简写为 Selection.value=30

Application常用属性:




Workbook对象

workbooks表示当前打开的所有工作簿

Workbooks("Book1.xls")  引用Book1工作簿

ThisWorkook表示 代码 所在的工作簿 ActiveWorkbook 表示当前活动工作簿

Workbook属性: ThisWorkbook.Path读取名称; ThisWorkbook.FullName读取带路径的名称

Workbooks.Add "E://Book2.xls" 新建工作簿

Workbooks.Open "E://Book2.xls"  打开工作簿

Workbooks("Book1.xls").Activate  从所有打开的工作簿中激活某一工作簿

Workbooks("Book1.xls").Save  保存工作簿

Workbooks("Book1.xls").SaveAs Filename := "E://Book3.xls"  另存为

Workbooks.Close    关闭所有打开的工作簿

Workbooks("Book1.xls").Close savechanges := True  关闭并保存修改



Worksheet对象

工作表的引用:Worksheets.Item(1)   或   Worksheets ("sheet1")

添加新工作表

Worksheets.Add before := Worksheets(1)  在第一张工作表前插入新工作表

Worksheets.Add after := Worksheets(1)  在第一张工作表后插入新工作表

Worksheets.Add after := Worksheets(1), Count := 3    插入三张工作表

Worksheets(2).Name = 修改名称

Worksheets("sheet1").Delete  删除工作表

Worksheets(1).Selete  /  Worksheets(1).Activate    二者等效,激活工作表

复制工作表:

Worksheets("工资表").copy before := Worksheets("出勤登记表")

ActiveSheet.Name = "工资表备份"

移动工作表:将copy改为move



Range对象

引用:

Worksheets("sheet1").Range("A1").Value = 100

选择多个区域并集:

Range("A1:A10, A4:E6, C3:D9").Select


选择多个区域并集: 去掉逗号

Range("A1:A10 A4:E6 C3:D9").Select

使用Cells引用:

ActiveSheet.Cells(3, 4).Value = 100

ActiveSheet.Cells(3, "D").Value = 100

Range("B3:F9).Cells(2, 3) = 100


引用整行:

ActiveSheet.Rows("3:5").Select  3到5行

ActiveSheet.Row(3).Select  第三行

ActiveSheet.Rows.Select  所有行

引用列同理,换成Columns

Offset属性:

Range("A1").Offset(2, 3)  = 100    下移两行,右移三行;负数表示上移和左移

Resize属性:

Range("B2").Resize(5,4).Select    将B2单元格扩大成5行4列的区域,B2在左上角,同理可以缩小

UsedRange属性:

ActiveSheet.UsedRange.Select  已使用的单元格围成的矩形区域,包括空行

CurrentRange属性:

Range("B5").CurrentRange.Select  以空行和空列为边界的区域

End属性:  返回当前区域结尾处单元格

Range("C5").End(xlUp).Select

xlUp 向上 ;xlDown 向下;xlToRight 向右; xlToLeft 向左

End属性应用:


Activate与Select等效:

ActiveSheet.Range("A1:B10").Select   可以换成Activate


复制单元格区域:

Worksheets("sheet1").Range("A1:A10").Copy Worksheets("sheet2").Range("B1")  指定粘贴区域最左上角单元格

只粘贴数值:



剪切单元格换成 Cut

删除单元格:

Range("B5").Delete Shift := xlToLeft  删除后右侧单元格左移

Range("B5").Delete Shift := xlUp  删除后下侧单元格上移

Range("B5").EntireRow.Delete   删除整行

Range("B5").EntireColumn.Delete  删除整列


.Count 计数,Worksheets.Count 统计总共有几个Worksheets

连接字符串 &

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel VBA开发是指利用微软Excel软件的Visual Basic for Applications(VBA)来自定义和扩展Excel功能的过程。通过编写VBA代码,可以自动化执行各种Excel任务和操作,以提高工作效率和准确性。 Excel VBA开发的主要优势之一是它的灵活性。通过使用VBA,用户可以针对自己的具体需求编写定制化的功能和宏,从而将Excel从单纯的电子表格工具转变为一个强大的数据处理和分析平台。这意味着用户可以根据自己的需求,完全掌控Excel的各种功能,如自动化生成报告、数据处理和分析、图表制作等。 另一个优势是Excel VBA在可视化方面的支持。通过使用VBA,用户可以自定义用户界面和交互,使Excel工作表更加易于使用和理解。用户可以创建自定义的数据输入表单、自动化报表和图表模板,并为其添加各种用户交互功能,从而提高使用者的体验和工作效率。 Excel VBA也具有良好的集成性。用户可以将VBA代码与其他Office应用程序(如Word和PowerPoint)和外部数据库(如Access和SQL Server)集成,以实现不同应用之间的数据共享和交互。这种集成性使得Excel在企业和业务环境成为一个非常有价值的工具,可以用于处理各种复杂的业务需求和数据分析。 总而言之,Excel VBA开发是一种强大且灵活的工具,可以使用户根据自己的需求自定义和扩展Excel功能。通过编写VBA代码,可以实现自动化处理数据、生成报告、图表制作等各种Excel任务,提高工作效率和准确性,使Excel成为一个具有定制化功能的数据处理和分析平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值