分享

跟烟花入门VBA之48:工作表对象Worksheet(四)

 fzchenwl 2015-04-01

Worksheet.Visible 属性
  
返回或设置一个 XlSheetVisibility 值,它确定对象是否可见。
  XlSheetVisibility可为下列值:
  xlSheetHidden 0 隐藏工作表,用户可以通过菜单取消隐藏。
  xlSheetVeryHidden 2 隐藏对象,以便使对象重新可见的唯一方法是将此属性设置为 True(用户无法使该对象可见)。
  xlSheetVisible -1 显示工作表。
  对于一般用户,设置值为xlSheetVeryHidden可以直到深度隐藏的效果。
  另外在批量隐藏时,需要注意的是必须保留一个可见的工作表。

  Worksheet.Rows 属性
  返回一个 Range 对象,它代表指定工作表中的所有行。Range 对象,只读。
  在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Rows。
  该属性在应用于是多个选定区域的 Range 对象时,只从该区域中第一个子区域内返回行。
  例如,如果 Range 对象有两个子区域:A1:B2 和 C3:D4,则 Selection.Rows.Count 返回 2 而不是 4。
  若要在一个可能包含多个选定区域的区域中使用此属性,请测试 Areas.Count 以确定该区域是否包含多个选择区域。
  示例:
    MsgBox Rows.Count
    Rows.count返回当前活动工作表内的行数

    Dim rg As Range
    Dim lRow As Long
    If TypeName(Selection) = 'Range' Then
      For Each rg In Selection
        lRow = lRow + rg.Rows.Count
      Next
      MsgBox '当前所选区域 ' & Selection.Address & vbCrLf & '一共有 ' & lRow & ' 行'
    End If
    统计当前所选区域内一共有多少行

  Worksheet.Columns 属性
  返回一个 Range 对象,它代表活动工作表中的所有列。
  如果活动文档不是工作表,则 Columns 属性失效。
  在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Columns。
  此属性在应用于一个是多重选定区域的 Range 对象时,会只从该区域的第一个子区域中返回列。
  例如,如果 Range 对象有两个子区域 A1:B2 和 C3:D4,那么,Selection.Columns.Count 的返回值是 2,而不是 4。
  若要对一个可能包含多重选定区域的区域使用此属性,请测试 Areas.Count 以确定此区域内是否包含多个子区域。
  如果包含,请对此区域内的每个子区域进行循环。
  实际使用时,直接用For each遍历areas比较好,这个方法已经同时兼顾到了只选一个区域和多个区域的情况,不需要先判断ares.count再来根据情况执行不同的代码了。
  示例:
    With Worksheets('Sheet1').Columns(1)
      .Font.Bold = True
      .AutoFit
    End With
  设置工作表Sheet1的第一列字体加粗,列宽自动调整。

  Worksheet.Range 属性
  返回一个 Range 对象,它代表一个单元格或单元格区域。
  语法:Range(Cell1, Cell2)
  参数:
  Cell1 必选 Variant 区域名称。必须为采用宏语言的 A1 样式引用。
  可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。
  也可包括货币符号,但它们会被忽略掉。您可以在区域中任一部分使用局部定义名称。
  如果使用名称,则假定该名称使用的是宏语言。
  Cell2 可选 Variant 区域左上角和右下角的单元格。可以是一个包含单个单元格、整列或整行的 Range 对象,或者也可以是一个用宏语言为单个单元格命名的字符串。
  如果在没有对象识别符时使用,则该属性是 ActiveSheet.Range 的快捷方式(它返回活动表的一个区域,如果活动表不是一张工作表,则该属性无效)。
  当应用于 Range 对象时,该属性与 Range 对象相关。
  例如,如果选中单元格 C3,那么 Selection.Range('B1') 返回单元格 D3,因为它同 Selection 属性返回的 Range 对象相关。
  此外,代码 ActiveSheet.Range('B1') 总是返回单元格 B1。
  示例:
    Worksheets('Sheet1').Range('A1').Value = 3.14159
    Sheet1 上 A1 单元格的值设置为 3.14159。
    
    Dim c As Range
    For Each c In Worksheets('Sheet1').Range('A1:D10')
      If c.Value < 0.001 Then
        c.Value = 0
      End If
    Next c
    在Sheet1 上的单元格区域 A1:D10 中进行循环。如果某个单元格的值小于 0.001,则此代码将用 0(零)来取代该值

    Worksheets('Sheet1').Range(Cells(1, 1), Cells(5, 3)).Font.Italic = True
    Sheet1 中单元格区域 A1:C5 上的字体样式设置为斜体

    Range('test').Value = 'test'
    在名称为test的单元格区域上修改值为test

  Worksheet.UsedRange 属性
  返回一个 Range 对象,该对象表示指定工作表上所使用的区域,只读。
  示例:
    MsgBox '工作表使上所使用的区域:' & ActiveSheet.UsedRange.Address

  Worksheet.Shapes 属性
  返回一个 Shapes 集合,它代表工作表上的所有形状。只读。
  示例:
    With ActiveSheet.Shapes.AddLine(10, 10, 250, 250).Line
      .DashStyle = msoLineDashDotDot
      .ForeColor.RGB = RGB(50, 0, 128)
    End With
  在当前活动工作表中画一条蓝色虚线(左上角为10,10,右下角为250,250)

  Worksheet.VPageBreaks 属性
  返回一个 VPageBreaks 集合,它代表工作表上的垂直分页符,只读

  Worksheet.HPageBreaks 属性
  返回一个 HPageBreaks 集合,它代表工作表上的水平分页符。只读。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多