VBA之excel小结

0】变量
Dim intX  未声明类型则为Var
Dim intZ As Integer 为整型  Dim intS%
Dim strS As String 为整型  	Dim strS$
Dim dbS As Double 为整型  	Dim dbS#

Dim rng as Range  			Set r1 = Range("A1:B2")

b = 1 Range("a" & b).Select 单元格A1被选中;

Cells(11, 5)         		cells中用,号。表示第几行,第几列。返回该单元格内容

“&” —— 字符串连接。MyStr = "Check " & 123       ' 返回 "Check 123"。
另“+” —— 既可计算数值的和,也可以做字符串的连接。
所以一般用+就行了

1】 
For … Next 循环
其语法如下:
For <计数器=开始数> To <结束数> [step 步长]
  [指令]
  [Exit For]
  [指令]
Next [计数器]
eg:
For i = 18 To 1000 Step 3
2】
过程 (无返回值)
过程由一组完成所要求操作任务的VBA语句组成。
调用其他过程用call 过程名
Sub 过程名称 ([参数])
End Sub
3】
函数
函数(function)是能完成特定任务的相关语句和表达式的集合。当函数执行完毕时,它会向调用它的语句返回一个值。
Function <函数名> ([参数]) [As 类型]
  [指令]
  [函数名=表达式]
  [Exit Function]
  [指令]
  [函数名=表达式]
End Function
4】
类模块
类模块是存放共享变量以及共享代码的存储库。创建一个类模块,实际上也是在创建一个COM(组件对象模型)接口。
5】
vba的注释是单引号'
6】
Go to语句
将程序转到指定的标签的语句位置,然后继续往下执行。Go to 语句通常用来作错误处理。
7】
宏
设置宏快捷键一般为:Ctrl+m 或Ctrl+l 或Ctrl+e 
宏实际上就是一个简单的VBA的Sub过程,它保存在模块里,以Sub开头,以End 
8】
引用
当我们引用“mybook.xls”里面的工作表“mysheet”时应是:Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”)
9】
vba中,选中代码,按F1即可查看帮助。
10】
引用对象及对象的属性、方法等用点来分隔
对象和事件之间用_下划线。
11】
定义变量
Dim 变量名 As 数据类型
直接输入“Dim 变量名”此时定义的变量将被指定为Variant类型。
赋值:一般用""。日期用##号
12】
提示:一行的代码过长,可以用空格加下划线进行换行。
表示还是一行代码

13】
删除
  [a1].Delete Shift:=xlUp '   下方单元格上移(默认)
  [a1].Delete Shift:=xlToLeft '    右侧单元格左移
  [a1].EntireRow.Delete '   整行删除
  [a1].EntireColumn.Delete '   整列删除
14】
range对象的end属性
End属性返回的单元格就相当于在源单元格按住Ctrl键+上(或下、左、右)方向键所得到的单元格
Sheet(1).[a65536].End(xlUp).Row语句返回sheet(1)表a列的最后一个非空单元格的行号。
15】
Set dqh = Sheets(1).Cells(2, 1).Resize(1, 12)
意思是在第二行第一列的单元格基础上从1扩选到第12个单元格。
16】
添加工作表
Worksheets.add(before:=Worksheets(1)).Name = "33"
17】
对数值、文本等变量赋值时可以直接=,而对对象(如工作薄对象,工作表对象,单元格区域等)赋值时要用set语句
18】
多个区域时
union(range("b3:c4"),range("e5;f6"))
19】
xlToLeft ,xlToRight,xlUp,xlDown
end按顺序可简写为:1,2,3,4。这里的End(3)实际上是:End(xlup)
20】
调试输出
Debug.Print 999
21】
On Error Resume Next
错误时继续运行
22】
UsedRange
属性应用于Worksheet对象,返回指定工作表中已使用区域的Range对象

23】with用来简化代码
With oRegExp
    .Global = True '匹配所有
    .IgnoreCase = True '不区分大小写
    .Pattern = "[\u4e00-\u9fa5]+"
End With
	
等价于
 oRegExp.Global = True '匹配所有
 oRegExp.IgnoreCase = True '不区分大小写
 oRegExp.Pattern = "[\u4e00-\u9fa5]+"

24】区域查找
经典查找案例解析
 
Sub F9() '区域查找
	Dim MRG As Range, AAA As String
	Dim ss
	Set MRG = Range("D1:D16").Find("D")
	ss = Cells(MRG.Row, MRG.Column + 1).Value
	AAA = MRG.Address
	Do
		Set MRG = Range("D1:D16").FindNext(MRG)
		ss = ss + Cells(MRG.Row, MRG.Column + 1).Value
	Loop Until MRG.Address = AAA
End Sub
其实区域查找就要用
DO
FindNext()
Loop Until
但要设置跳出循环的条件,
那就是
	Set MRG = Range("D1:D16").Find("D")
	AAA = MRG.Address
获得地址用在 Loop Until MRG.Address = AAA

则区域查找框架:
	Dim MRG As Range, AAA As String
	Set MRG = Range("D1:D16").Find("D")
	AAA = MRG.Address
	Do
		Set MRG = Range("D1:D16").FindNext(MRG)
	Loop Until MRG.Address = AAA

25】区域查找应用for小巩
Function VVlOOKUP(str, rng) 'VlOOKUP多个
  Dim MRG As Range, AAA As String
  Set MRG = rng.Find(str)
  AAA = MRG.Address
  ss = Sheets(4).Cells(MRG.Row, MRG.Column + 1) + ","
  Do
    Set MRG = rng.FindNext(MRG)
    ss = ss + Sheets(4).Cells(MRG.Row, MRG.Column + 1) + ","
  Loop Until MRG.Address = AAA
  GNum = ss
End Function

26】
  Set MRG = Range("D1:D16").Find("2", , , xlWhole)精确查找。默认
  Set MRG = Range("D1:D16").Find("2", , , xlPart)模糊查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值