|
本帖最后由 13764433574 于 2018-9-7 13:58 编辑
刚学了一周左右,教材只看了100多页,按照实际业务需求让朋友写了一个数据列去重的宏,基本逻辑是看懂了,有几个语句没看懂,请教一下论坛的前辈。
具体如下:
Sub 数据列去重整理()
Dim A, B, Temp As Range
Set A = Worksheets("数据表").Range("A1:A5001")
Set Temp = Worksheets("操作表").Range("A1:A5001")
Set B = Worksheets("操作表").Range("A1")(1, 1)
Dim i As Range
Dim n As Long
n = 1
For Each i In A
If Application.WorksheetFunction.CountIf(Temp, i) = 0 Then
B(n, 1) = i
n = n + 1
End If
Next
End Sub
红色部分语句不太明白,我的问题是这样的:
1、第一条疑问语句:Set B = Worksheets("操作表").Range("A1")(1, 1)
我理解:将操作表sheet中的A1单元格赋给变量B,那么(1,1)是什么东东,坐标?书里还没看到这个内容;
2、第二条疑问语句:For Each i In A
我理解:变量A等于数据表sheet中的A1:A5001区域,变量i循环取A1到A5001,然后放到CountIf语句里作为统计条件?
3、第三条疑问语句:B(n, 1) = i
我理解:当CountIf为True时,B(1,1)=A1,B(2,1)=A2?B(n,1)代表什么?这句也是一种赋值的方式么?
问题比较初级,谢谢!!!
|
|