未初始化Range的判断
有时候需要对已定义未初始化的range对象做判断
dim curRange as range
If curRange Is Nothing Then
debug.print("未初始化的..")
End If
遍历工作表方法
Chr(10):ASCII码中的换行键,相当于vbLF。
Chr(13):ASCII码中的回车键,相当于vbCR。
1、使用For…Next 语句遍历工作簿中所有的工作表
Sub ShCount1()
Dim c As Integer
Dim i As Integer
Dim s As String
c = Worksheets.Count
For i = 1 To c
s = s & Worksheets(i).Name & Chr(13)
Next
MsgBox "工作簿中含有以下工作表:" & Chr(13) & s
End Sub
2、使用For Each…Next语句遍历工作簿中所有的工作表
Sub ShCount2()
Dim Sh As Worksheet
Dim s As String
For Each Sh In Worksheets
s = s & Sh.Name & Chr(13)
Next
MsgBox "工作簿中含有以下工作表:" & Chr(13) & s
End Sub
工作表多行重复内容剔除
将a列内容拷贝到b列:将重复内容删除掉后拷贝
Sub RunTest2()
' 将b列清理掉
Range("b:b").Clear
' 将标题头拷贝到b列
Range("a1").Copy Destination:=Range("b1")
' 计算末尾行号
Dim EndRowNum As Integer
EndRowNum = Range("a1").End(xlDown).Row
' 由后向前循环遍历
Dim Num As Integer
For Num = 2 To EndRowNum Step 1
If WorksheetFunction.CountIf(Columns(2), Cells(Num, 1).Value) < 1 Then
Cells(Num, 1).Copy Destination:=Cells(Range("b65535").End(xlUp).Row + 1, 2)
End If
Next
End Sub
关注
笔者 - jxd
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Excel 宏录制与VBA编程 ——VBA编程技巧篇三 (未初始化Range判断、遍历工作表方法、工作表多行重复内容剔除)
发表评论 取消回复