Excel精英培训网

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

[分享] 【烟花原创】VBA零基础之第59篇 单元格对象Range(三)

[复制链接]
发表于 2013-12-24 13:38 | 显示全部楼层 |阅读模式
本帖最后由 hwc2ycy 于 2013-12-24 13:42 编辑

  Rows 属性
  返回一个 Range 对象,它代表指定单元格区域中的行,只读。
  说明:
  在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Rows
  该属性在应用于是多个选定区域的 Range 对象时,只从该区域中第一个子区域内返回行。
  例如,如果 Range 对象有两个子区域:A1:B2 C3:D4,则 Selection.Rows.Count 返回 2 而不是 4
  若要在一个可能包含多个选定区域的区域中使用此属性,请测试 Areas.Count 以确定该区域是否包含多个选择区域。
  示例:
    59-1.jpg
   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 以确定此区域内是否包含多个子区域。
  如果包含,请对此区域内的每个子区域进行循环。
  示例:
    还是上面的那个表,只是做了转置处理,对于行的处理就转变成了对列的处理。
    还是以姓名为准,如果第一行中某列的内容与他左边的列的内容相同,则删除该列。
     59-2.jpg
  
  
   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单元格了。

评分

参与人数 2 +7 收起 理由
追梦人亮 + 1 很给力!
E路人 + 6 赞一个!

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-12-28 10:30 | 显示全部楼层
回复

使用道具 举报

发表于 2014-4-14 14:44 | 显示全部楼层
回复

使用道具 举报

发表于 2014-6-17 11:47 | 显示全部楼层
{:35:}
回复

使用道具 举报

发表于 2014-6-18 11:20 | 显示全部楼层
回复

使用道具 举报

发表于 2014-6-18 16:32 | 显示全部楼层
{:1112:}
回复

使用道具 举报

发表于 2014-6-26 07:49 | 显示全部楼层
谢谢分享,标记,五十九
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 11:30 , Processed in 0.271529 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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