本帖最后由 hwc2ycy 于 2013-12-24 13:42 编辑
Rows 属性 返回一个 Range 对象,它代表指定单元格区域中的行,只读。 说明: 在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Rows。 该属性在应用于是多个选定区域的 Range 对象时,只从该区域中第一个子区域内返回行。
例如,如果 Range 对象有两个子区域:A1:B2 和 C3:D4,则 Selection.Rows.Count 返回 2 而不是 4。
若要在一个可能包含多个选定区域的区域中使用此属性,请测试 Areas.Count 以确定该区域是否包含多个选择区域。 示例:
Dim i As Integer Dim rg As Range Set rg = Range("a1:c14") With rg For i = 14 To 2 Step -1 If .Cells(i, 1).Value = .Cells(i -1, 1).Value Then .Rows(i).Delete End If Next End With Set rg = Nothing
如果A列某行的内容与它上一行的内容相同,则删除该行。
Columns 属性 返回一个 Range 对象,它代表指定区域中的列。 说明: 在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Columns。 此属性在应用于一个是多重选定区域的 Range 对象时,会只从该区域的第一个子区域中返回列。
例如,如果 Range 对象有两个子区域 A1:B2 和 C3:D4,那么,Selection.Columns.Count 的返回值是 2,而不是 4。
若要对一个可能包含多重选定区域的区域使用此属性,请测试 Areas.Count 以确定此区域内是否包含多个子区域。
如果包含,请对此区域内的每个子区域进行循环。 示例:
还是上面的那个表,只是做了转置处理,对于行的处理就转变成了对列的处理。 还是以姓名为准,如果第一行中某列的内容与他左边的列的内容相同,则删除该列。
Dim i As Integer Dim rg As Range Set rg = Range("a1:n3") With rg For i = 14 To 2 Step -1 If .Cells(1, i).Value = .Cells(1, i - 1).Value Then .Columns(i).Delete End If Next End With Set rg = Nothing 这里举例用了RANGE前缀限定,其实实际中写的时候不需要,直接针对ROWS操作即可。
Column 属性 返回指定区域中第一块中的第一列的列号,Long类型,只读。 示例: Dim rg1, rg2, rg3 Dim str$ Set rg1 = [A5:C3] Set rg2 = [F10:B2] Set rg3 = [i5:k2,a1:b2,o3:c4] str = "rg1的第一列列号:" & rg1.Column & vbCrLf str = str & "rg2的第一列列号:" & rg2.Column & vbCrLf str = str & "rg3的第一列列号:" & rg3.Column & vbCrLf MsgBox str
Row 属性 返回区域中第一个子区域的第一行的行号,Long 类型,只读。 示例: Dim rg1, rg2, rg3 Dim str$ Set rg1 = [A5:C3] Set rg2 = [F10:B2] Set rg3 = [i5:k2,a1:b2,o3:c4] str = "rg1的第一行行号:" & rg1.Row & vbCrLf str = str & "rg2的第一行行号:" & rg2.Row & vbCrLf str = str & "rg3的第一行行号:" & rg3.Row & vbCrLf MsgBox str
Cells 属性 返回一个 Range 对象,它代表指定单元格区域中的单元格。 说明: 因为 Item 属性是 Range 对象的默认属性,所以可以在Cells 关键字后面紧接着指定行和列索引。
在不使用对象识别符的情况下,使用此属性将返回一个 Range 对象,它代表活动工作表中所有的单元格。 示例: Dim rg1 As Range MsgBox Cells.Address Set rg1 = [A5:C3] rg1.Cells(6, 4).Value = "test" '注意这里的cells(6,4)由于加了RANGE限定符 '以A3为左上角,6行4列就是D8单元格了。
|