分享

总结Excel之VBA编程之引用单元格、区域的各种方法上篇

 甘苦人生2010 2013-10-05
总结Excel之VBA编程之引用单元格、区域的各种方法上篇  

  Excel单元格引用、区域的引用,在VBA编程中,有着重要的意义。掌握单元格、区域的引用方法,可方便我们对数据进行相应的处理。下面,是单元格、区域的引用方法之总结,希望对您有帮助。

  ①用范围来引用单元格及区域

  可使用 Range 属性来引用 A1 引用样式中的单元格或单元格区域。下述子程序将单元格区域 A1:D5 的字体设置为加粗。

  Workbooks("Book2").Sheets("Sheet2").Range("A1:D5") .Font.Bold = True

  下表演示了使用 Range 属性的一些 A1 样式引用。

  引用                       含义
  ----------------------------------
  Range("A1")               单元格 A1
  Range("A1:B5")            从单元格 A1 到单元格 B5 的区域
  Range("C5:D9,G9:H16")  多块选定区域
  Range("A:A")              A 列
  Range("1:1")               第一行
  Range("A:C")              从 A 列到 C 列的区域
  Range("1:5")               从第一行到第五行的区域
  Range("1:1,3:3,8:8")    第 1、3 和 8 行
  Range("A:A,C:C,F:F")   A 、C 和 F 列

  ②用编号引用单元格

  通过使用行列编号,可用 Cells 属性来引用单个单元格。该属性返回代表单个单元格的 Range 对象。下例中,Cells(6,1) 返回 Sheet1 上的单元格 A6,然后将 Value 属性设置为 10。

  Worksheets("Sheet1").Cells(6, 1).Value = 10

  因为可用变量替代编号,所以 Cells 属性非常适合于在单元格区域中循环,如下例所示。

  Dim Counter As Integer
  For Counter = 1 To 20
   Worksheets("Sheet1").Cells(Counter, 3).Value = Counter
  Next Counter

  注意   如果要同时更改某一单元格区域中所有单元格的属性或对其应用方法,可使用 Range 属性。

  ③引用行和列

  可用 Rows 属性或 Columns 属性来处理整行或整列。这两个属性返回代表单元格区域的 Range 对象。下例中,用 Rows(1) 返回 Sheet1 上的第一行,然后将单元格区域的 Font 对象的 Bold 属性设置为 True。

  Worksheets("Sheet1").Rows(1).Font.Bold = True

  下表举例说明了使用 Rows 和 Columns 属性的一些行和列的引用。

  引用                含义
  ------------------------
  Rows(1)             第一行
  Rows               工作表上所有的行
  Columns(1)         第一列
  Columns("A")      第一列
  Columns             工作表上所有的列

  若要同时处理若干行或列,请创建一个对象变量并使用 Union 方法,将对 Rows 属性或 Columns 属性的多个调用组合起来。下例将活动工作簿中第一张工作表上的第一行、第三行和第五行的字体设置为加粗。

  Worksheets("Sheet1").Activate
  Dim myUnion As Range
  Set myUnion = Union(Rows(1), Rows(3), Rows(5))
  myUnion.Font.Bold = True

  ④用快捷记号引用单元格

  可用方括号将 A1 引用样式或命名区域括起来,作为 Range 属性的快捷方式。这样就不必键入单词“Range”或使用引号,如下例所示。

  Worksheets("Sheet1").[A1:B5].ClearContents

  [MyRange].Value = 30

  ⑤引用命名区域

  用名称比用 A1 样式记号更容易标识单元格区域。若要命名选定的单元格区域,请单击编辑栏左端的名称框,键入名称,再按 Enter。

  ⑥引用命名区域

  下例引用了名为“MyBook.xls”的工作簿中的名为“MyRange”的单元格区域。

  Range("MyBook.xls!MyRange").Font.Italic = True

  下例引用名为“Report.xls”的工作簿中的特定工作表单元格区域“Sheet1!Sales”。

  Range("[Report.xls]Sheet1!Sales").BorderAround Weight:=xlthin

  若要选定命名区域,请用 GoTo 方法,该方法将激活工作簿和工作表,然后选定该区域。

  Application.Goto Reference:="MyBook.xls!MyRange"
  Selection.ClearContents

  下例显示对于活动工作簿将如何编写相同的过程。

  Application.Goto Reference:="MyRange"
  Selection.ClearContents

  在命名区域中的单元格上循环

  下例用 For Each...Next 循环语句在命名区域中的每一个单元格上循环。如果该区域中的任一单元格的值超过 limit 的值,就将该单元格的颜色更改为黄色。

  Const Limit As Integer = 25
  For Each c In Range("MyRange")
   If c.Value > Limit Then
    c.Interior.ColorIndex = 27
   End If
  Next c

  接下篇…

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多