Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2505|回复: 6

[VBA学习资料] 每周二培训笔记分享【第07讲】运算符操作 with和判断语句 2012年02月15日

[复制链接]
发表于 2012-3-27 22:22 | 显示全部楼层 |阅读模式
感谢兰版的精彩教学,受益匪浅,万分感激!
以下所有笔记均为兰版每周二晚培训课程的本人做的笔记--完整版

【第7讲】运算符操作 with和判断语句 2012年02月15日
range("a:a").SpecialCells(xlCellTypeBlanks).EntireRow.Delete --删除空行
3^2+sqrt(9)
"我" & "你" & 1
debug.print range("a1") + range("b1")
Debug.Print Int(5/2)
debug.print 35\8
debug.print Int(35/8)
Debug.print 2^2
Debug.print 27 ^ (1/3)
debug.print 81 ^2
debug.print 81 ^ (1/2)
If(And(a1="", b1=""))
条件1 And 条件2 And 条件3  And 条件4.。。。
If range("a1") = "" And range("b1")="" And range("c1")=""
Or
如果a1=1 或B1=1     或c1=2 或d1=2
If  (range("a1")=1 Or range("b1")=1 )  And  ( range("c1")=2 Or range("d1")=2 ) Then

Xor 表示2个条件只能有1个条件满足
If Not SH表对象 Is sheets("汇总表")  --Is判断是同一个对象  Not取反
If rg Is Nothing Then -- rg对象不存在
Set rg = Nothing --指定对象不存在
'Like运算符  --instr
debug.print "ABC" Like "ABc"
debug.print "BA" Like "?A"  --问号代表1个占位符
debug.print "Excel精英培训" Like "*cel*"  --星号代表0到多个占位符
Len(sr)=2 And Right(sr,1)="A"
“B???F”
'区间字符
[a-d]
[3-7]
[a-d3-7] 'a到d 或3到7
Like "[C-H]???[5-8]"
[E-HM-P]
[a-zA-Z]
[AQBOP]*

'字符 like "#" 判断数字
debug.print 5 Like "#"
debug.print 356 Like "###"
'真正含有问号的判断
Debug.print "Q?B" Like Q[?]B
'非区间,不在此之间
Like [!B-F]
Like [!A-Za-z]
[!ADFG]*

'with语句
sub 字体格式1()
  range("a1").font.name = "宋体"
  range("a1").font.size = 14
  range("a1").font.colorIndex = 3
  range("a1").font.bold = True
End Sub

Sub 字体格式()
With range("a1")
         .font = "宋体"
                 .size = 14
           .colorIndex = 3
            .bold = True
End With
End Sub
'if判断语句
  If range("a1").value > 0 Then
     range("a2").value = "正数"
  Else
    range("a2").value = "非正数"
  End If

If range("a3").value Like "[A-Fa-f]*" Then

'if的多重判断语句
If range("a1") < 0 Then
range("b1") = "小于零"
ElseIf range("a1") = 0 Then
range("b1") = "等于零"
ElseIf range("a1") > 0 Then
range("b1") = "大于零"
End If

'Select case语句
Select Case range("a1")
Case Is < 0
  range("b1") = "小于零"
Case Is = 0
   range("b1") = "等于零"
Case Is > 0
   range("b1") = "大于零"
Case Else
End Select

'sub_if多条件判断
If range("a2") <= 1000 Then
   range("b2") = 0.01
  ElseIf range("a2") <=2000 Then
   range("b2") = 0.02
  ElseIf range("a2") <=3000 Then
   range("b2") = 0.03
  ElseIf range("a2") <=4000 Then
   range("b2") = 0.04
  ElseIf range("a2") >4000 Then
   range("b2") = 0.06
End If

'if和select case 多重判断(或者) 下面是等价的
If range("a1") = "a" Or range("a1") = "b" Then
End If
Select Case range("a1")
Case "a", "b", 45 To 100
End Select

'function函数使用 ,提成示例
Function ticheng(rgg As Range)
  If rgg <= 1000 Then
    ticheng = 0.01
  ElseIf rgg <= 2000 Then
    ticheng = 0.02
  ElseIf rgg <= 3000 Then
    ticheng = 0.03
  ElseIf rgg <= 4000 Then
    ticheng = 0.04
  ElseIf rgg > 4000 Then
    ticheng = 0.06
  End If
End Function
保存为 加载宏 xla 即可所有表格使用

'VBA函数
range("a1").value = round(range("a1"),2)
'调用工作表函数
range("b1") = Application.WorksheetFunction.countIf(range("A:A"), "<0")
range("b1") = Application.IsNumber()
range("b1") = Application.Sum(Sheets("sheet3").Range())

=if(a1>0,,if(a1>100,))  --多重判断函数
发表于 2012-3-29 11:21 | 显示全部楼层
谢谢分享。                                                      
回复

使用道具 举报

发表于 2012-3-29 23:42 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-30 11:38 | 显示全部楼层
感谢分享,很不错啊!
回复

使用道具 举报

发表于 2012-4-17 22:03 | 显示全部楼层
你太有心了,谢谢你
回复

使用道具 举报

发表于 2012-4-20 11:13 | 显示全部楼层
向你致敬,向你的学习方法学习
回复

使用道具 举报

发表于 2012-5-19 12:10 | 显示全部楼层
感谢分享,很不错啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 22:00 , Processed in 0.527197 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表