




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VBA入门的基础语句自己整理了一些VBA基础语句分享给大家: 选择当前活动的工作簿: ThisWorkbook.Activate 如果选择其他工作簿,注意该工作簿一定是打开的,并且不要忘记加上后缀“.xls” ,例如: Windows(Totol.xls).Activate 选择一个工作表: Sheets(Balance).Activate. 选择单元格: Range(A1).Select 选择连续的单元格: Range(A1:G8).Select 选择不连续的单元格: Range(A1,B6,D9).Select Range(A1,B6:B10,D9).Select 单元格间移动: ActiveCell.Offset(13, 14).Select Selection.Offset(-3, -4).Select Range(G8).Offset(-3, -4).Select 注意:你可以定义一变量,并且用offset来实现,例如: varFreightRowsCount = Range(A1).CurrentRegion.Rows.Count ActiveCell.Offset(varFreightRowsCount, 0).Select 选择整个工作表: Cells.Select 选择当前单元格所在的区域(遇到空行/空列即止): Range(A1).CurrentRegion.Select 选择行或列: Rows(1).Select Columns(A).Select 或者: ActiveCell.EntireRow.Select ActiveCell.EntireColumn.Select 选择相邻的多行/多列: Columns(A:C).Select Rows(1:5).Select 选择不相邻的多行/多列: 注意:和选择相邻的多行/多列不同,使用Range而不是Columns/Rows: Range(A:A, C:C, E:F).Select Range(1:1,5:6,9:9).Select 选择当前活动单元格向下至最后一个非空单元格: Range(A1, Range(A1).End(xlDown).Select Range(ActiveCell, ActiveCell.End(xlDown).Select 选择当前活动单元格向上至第一个非空单元格: Range(A32, Range(A32).End(xlUp).Select Range(ActiveCell, ActiveCell.End(xlUp).Select 选择当前活动单元格向右至第一个非空单元格。 注意:是 xlTORight而不是 xlRight Range(A1, Range(A1).End(xltoRight).Select Range(ActiveCell, ActiveCell.End(xltoLeft).Select 选择当前活动单元格向右至第10个单元格。 Range(A2, Range(A2).Offset(0, 10).Select Range(ActiveCell, ActiveCell.Offset(0, 10).Select 选择当前活动单元格向左至第10个单元格。 Range(A20, Range(A20).Offset(0, -10).Select Range(ActiveCell, ActiveCell.Offset(0, -10).Select 选择当前活动单元格向下至第10个单元格。 Range(a2, Range(a2).Offset(10, 0).Select Range(ActiveCell, ActiveCell.Offset(10, 0).Select 选择当前活动单元格向上至第10个单元格。 Range(A1).End(xlDown).Offset(1, 0).Select 选择该行中第一个空单元格: Range(A1).End(xltoRight).Offset(0,1).Select 改变区域的大小(由 A1:B5 变为 A1:D10): 注意:改区域并不是向外扩张,而是重新定义了。即“ Selection.Resize(10, 4).Select 而不是 Selection.Resize(5, 2).Select 2005-9-7 16:10:19举报帖子 推荐:ExcelHome新书火爆发售中 Gemmy等级:新手上路文章:70EH币:280积分:0注册:2003年9月2日行业:IT业职业:其他查看:主题帖精华帖第 2 楼短信 好友 档案 贴子 邮件 Excel的宏不能记录移至当前行的第一个单元格的动作(即你按下“Home”键的动作),下面的语句则可以做到: ActiveCell.Offset(0, -ActiveCell.Column + 1).Select 移至当前列的第一个单元格: ActiveCell.Offset( -ActiveCell.Row + 1,0).Select 关于If.Then.EndIf 如果只有一个条件及一个动作,你可以用以下语句: If Selection.Value 10 Then Selection.Offset(1,0) = 100 End If 或者更简单的: If Selection.Value 10 Then Selection.Offset(1,0) = 100 如果有两个条件及两个动作,你可以用下面的语句 If Selection.Value 10 Then If Selection.Value = 12 Then Selection.Offset(1,0) = 100 End If Selection.Offset(1,0) = 20 End If 关于If.Then.And.EndIf 当有双重条件和一个动作时,你可以用下面的语句: If Selection.Value = 10 And Selection.Offset(0,1).Value = 20 Then Selection.Offset(1,0) = 100 End If 关于If.Then.Or.EndIf 当有双重条件和一个动作时,你可以用下面的语句: If Selection.Value = 10 Or Selection.Offset(0,1).Value = 20 Then Selection.Offset(1,0) = 100 End If 关于If.Then.Else.EndIf 当只有一个条件和两个动作时,你可以用下面的语句: If Selection.Value 10 Then Selection.Offset(1,0) = 100 Else Selection.Offset(1,0) = 0 End If 关于If.Then.ElseIf.EndIf 当有不止一个条件,且每个条件都跟随不同的动作时,你可以用下面的语句: If Selection.Value = 1 Then Selection.Offset(1, 0) = 10 ElseIf Selection.Value = 2 Then Selection.Offset(1, 0) = 20 ElseIf Selection.Value = 3 Then Selection.Offset(1, 0) = 30 ElseIf Selection.Value = 4 Then Selection.Offset(1, 0) = 40 ElseIf Selection.Value = 5 Then Selection.Offset(1, 0) = 50 End If 关于Select Case 当你不得不测试很多条件,你可以用Select Case 语句来代替If Then.ElseIf 。语法如下: Sub test() Select Case Selection.Value Case Is = 85 Selection.Offset(0, 1) = A Case Is = 75 Selection.Offset(0, 1) = B Case Is = 65 Selection.Offset(0, 1) = C Case Is = 50 Selection.Offset(0, 1) = D Case Else Selection.Offset(0, 1) = F End Select End Sub 这段语句的意思就是:如果所选单元格的值大于85时,则其右边那个单元格的值为“A” 所选单元格的值小于50时,其右边那个单元格的值为“F” 这里有一些关于VBA函数 LCase, Now(), UCase 的例子: 注意:很多EXCEL函数都可以以下面的形式用在VBA中: varAnswer = Application.WorksheetFunction.Sum(Range(A1:A32) 或者 varAnswer = Application.Sum(Range(A1:A32) LCase 当对输入的字符做判断时,我们无法知道用户输入的字符是大写还是小写,用LCase函数可以将其转化为小写: If LCase(Selection.value)= toto then. or Select Case LCase(Selection.value) or DO WHILE LCase(Selection.value)toto NOW() NOW() 既是Excel 函数也是VBA 函数。 通过下面的语句,在打开工作簿时,单元格 A1就会显示为当前时间: Range(A1).Formula = =Now() 下面的语句则在执行后赋予单元格“A1”当前时间,该时间不会改变除非你再次执行语句。并且你每次打开工作簿后,单元格“A1”的值不会改变。 Range(A1).Value = Now() UCase 当对输入的字符做判断时,我们无法知道用户输入的字符是大写还是小写,用LCase函数可以将其转化为大写: If UCase(Selection.value)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销经理发言稿
- 时间控制描述与评价课件
- 班组管理安全培训
- 入场安全教育培训
- 大班颠倒世界课件
- IBM内部咨询培训
- 二零二五年度夫妻离婚协议中共同债务承担与信用修复协议
- 二零二五版电力设施智能化设计及报批合同
- 二零二五年度智能交通系统采购合同及数据共享协议
- 二零二五年度加油站客户关系管理与维护服务合同
- 内部劳动保障规章制度范本(5篇)
- 代收工程款协议书范本
- 新能源汽车充电设施安全检查记录表
- 超低出生体重儿的护理个案查房培训课件
- 2023年中级经济师章节练习题汇总(1-26章)
- 丙肝病人护理查房
- 新建茶厂策划方案
- 2023特食抽查考核题库及答案-
- 网络法律问题研究
- GB/T 43278-2023医学实验室风险管理在医学实验室的应用
- 方剂学温胆汤课件
评论
0/150
提交评论