Excel精英培训网

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

[分享] 【烟花原创】VBA零基础之第49篇 工作表对象Worksheet(四)

[复制链接]
发表于 2013-12-14 00:11 | 显示全部楼层 |阅读模式
  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 集合,它代表工作表上的水平分页符。只读。

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

使用道具 举报

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

使用道具 举报

发表于 2014-6-25 07:26 | 显示全部楼层
Rows.count返回当前活动工作表内的行数
当选定区域存在交集时,返回的行数有偏差
谢谢分享,标记,四十九
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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