|
本帖最后由 zhouyunj 于 2012-3-27 23:00 编辑
感谢兰版的精彩教学,受益匪浅,万分感激!
以下所有笔记均为兰版每周二晚培训课程的本人做的笔记--完整版
【第12讲】练习与巩固--2012年03月20日
主要内容:
1、选取符合条件的行
2、Left方法,union方法,Len方法
-------------------------------------------------
上节回顾--- 练习:不允许查看“主界面”外的任何sheet页
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("主界面").Select
End Sub
Sub test()
Dim rg As Range
Set rg = Range("a1:a10")
If rg Is Nothing Then 'is nothing 判断对象变量为空,
'...
End If
If Not rg Is Nothing Then 'NOT xx is nothing 判断对象变量为空,
'...
End If
Dim str As String
If str = "" Then ' str = "" 判断字符串是否为空 ,<>""非空
'...
End If
MsgBox rg.Address
End Sub
'D列金额大于20的行全部选取
'产品,数量,单价,金额
Sub dd()
Dim rg As Range, x As Integer
For x = 2 To 11
If Cells(x, 4) > 20 Then
If rg Is Nothing Then
Set rg = Rows(x)
Else
Set rg = Union(rg, Rows(x)) '追加符合条件的行
End If
End If
Next x
rg.Select
End Sub
Sub d22() '人工肉眼方法手工选择多行
Range("3:3, 5:5, 10:10, 11:11").Select
End Sub
'D列金额大于20的行全部选取
'产品,数量,单价,金额
'方法2
Sub dd2()
Dim sr As String, x As Integer
For x = 2 To 11
If Cells(x, 4) > 20 Then
If sr = "" Then
sr = x & ":" & x
Else
sr = sr & "," & x & ":" & x
End If
End If
Next x
Range(sr).Select '即:Range("3:3, 5:5, 10:10, 11:11").Select
'截取字符串 从第2个截取到第200个
'sr = Mid(sr, 2, 200)
End Sub
Sub dd3()
Dim sr As String, x As Integer, k As Integer
For x = 2 To 11
k = x '临时变量k记住起始行的x值
If Cells(x, 4) > 20 Then '判断第起始x行4列的值是否满足要求
Do While Cells(x, 4) > 20 '循环判断连续的下一行是否也满足要求
x = x + 1
Loop
sr = sr & k & ":" & x - 1 & ","
End If
Next x
sr = Left(sr, Len(sr) - 1) 'left 从左开始截取字符串(len取出总字符长度 并-1)去掉最后一个“,”
Range(sr).Select
End Sub
Sub Union的使用()
Union(Range("a1"), Range("b1:c2"), Range("d2:d5")).Value = 100
End Sub
|
评分
-
查看全部评分
|