Excel精英培训网

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

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

[复制链接]
发表于 2013-12-26 14:59 | 显示全部楼层 |阅读模式
本帖最后由 hwc2ycy 于 2013-12-26 15:10 编辑

  NumberFormat 属性
  返回或设置对象的格式代码。
  说明:
    如果指定区域中的所有单元格包含不同的数字格式,则此属性返回 Null
    格式代码与“设置单元格格式”对话框中的“格式代码”选项是同一个字符串。
    Format 函数使用的格式代码字符串与NumberFormat NumberFormatLocal 属性使用的格式代码字符串不同。
  示例:
    With Range("g7")
       .Value = 1
       .NumberFormat = "yyyy/mm/dd"
       With .Offset(1)
           .Value = 34567
           .NumberFormat = "yyyy/mm/dd"
        EndWith
  End With

  NumberFormatLocal 属性
  以采用用户语言字符串的形式返回或设置对象的格式代码。
  示例:
    MsgBoxRange("g7").NumberFormatLocal
  与OFFICE版本的本地化有关,有不同语言的OFFICE的童鞋可以测试并对比这两个属性。

  Characters 属性
  返回 Characters 对象,它代表对象文本内某个区域的字符。
  使用 Characters 对象可为文本字符串内的字符设置格式。
  语法:Characters(Start, Length)
    Start 可选,要返回的第一个字符。如果此参数是 1或被省略,则此属性返回一个以第一个字符为开头的字符区域。
    Length 可选,要返回的字符数。如果省略此参数,则此属性返回字符串的后半部分(Start 字符之后的所有字符)。
  示例:
    With Range("c17")
       .Clear
       .Value = "ID:hwc2ycy"
       With .Characters(InStr(.Value, ":") + 1)
           .Font.Color = vbRed
       End With
    End With
  C17单元格中冒号后面的字符以红色显示。
  实际中,如果需要用代码针对单元格中某一部分字段内容设置不同的格式,可以用到这个对象。


  CountLarge 属性
  在指定区域的值中计算最大值,Variant 类型。
  EXCEL 2010版本中,工作表内一共有1048576行,16384列。
  那么,单元格数量就为1048576*16384= 17179869184
  在事件过程中有童鞋可能经常用这句判断当前所选的单元格数量:If Target.count>1
  那恭喜你了,一个地雷就在此埋下了,虽然触发机率不大。
  例如Selection_change事件,当我全选了所有的单元格,这里就要产生溢出的错误了。
  Rangecount属性返回值是LONG类型,LONG最大值为147483647。
  当全选了所有单元格后,长整形是不够用了,溢出就产生了。
  CountLarge返回类型是个Variant,不存在溢出的隐患。
  如果代码只在07以上版本使用,还是推荐使用这个属性。
  示例:
    MsgBox Cells.CountLarge
    MsgBox [1:900,a:z].CountLarge

  Font 属性
  返回一个 Font 对象,它代表指定对象的字体。
  示例:
    WithRange("a1").CurrentRegion.Rows(1)
       With .Font
           .Size = 15
           .Bold = True
       End With
    End With
  设置A1单元格所在的区域第一行的单元格字体为15号,加粗
  更多字体的设置可参考FONT对象。

  HorizontalAlignment 属性
  返回或设置指定对象的水平对齐方式。
  此属性的值可设为以下常量之一:
    xlLeft  靠左
    xlCenter 居中
    xlRight 靠右
    xlJustify 两端对齐
    xlCenterAcrossSelection 跨列居中
    xlDistributed 分散对齐
  某些常量可能不可用,这取决于所选择或安装的语言支持(例如,美国英语)。
  示例:
    WithRange("a1").CurrentRegion.Rows(1)
       .HorizontalAlignment = xlCenter
    End With

  VerticalAlignment 属性
  返回或设置指定对象的垂直对齐方式。
  此属性的值可设为以下常量之一:
    xlTop 靠上
    xlCenter 居中
    xlBottom 靠下
    xlJustify 两端对齐
    xlDistributed 分散对齐
  示例:
    With Range("a1").CurrentRegion
       .VerticalAlignment = xlCenter
    End With

  Style 属性
  返回或设置一个包含 Style 对象的 Variant 值,它代表指定区域的样式。
  Style 对象包含样式的所有属性(字体、数字格式、对齐方式,等等)。
  有几种内置样式,包括“常规”、“货币”和“百分比”。
  同时对多个单元格修改单元格格式属性时,使用 Style 对象是快捷高效的方法。
  对于 Workbook 对象,Style 对象是 Styles 集合的成员。
  Styles 集合包含该工作簿的所有已定义样式。
  通过更改应用于单元格的样式的属性可更改单元格的外观。
  但要记住,更改样式的属性将影响所有以该样式格式化了的单元格。
  示例:
    Worksheets("Sheet1").Range("A1:A10").Style= "Percent"
    ActiveWorkbook.Styles("Normal").Font.Bold= True

    Dim sty As Style
    Debug.Print "清理样式前,当前工作簿中样式总数:" & ActiveWorkbook.Styles.Count
    For Each sty In ActiveWorkbook.Styles
       With sty
           Debug.Print .Name, .NameLocal
            '显示样式的名字
           If Not .BuiltIn Then
               .Delete
           End If
           '如果自定义的样式则删除
       End With
    Next
    Debug.Print "清理样式后,当前工作簿中样式总数:" & ActiveWorkbook.Styles.Count
发表于 2013-12-26 15:43 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-26 16:09 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-28 10:29 | 显示全部楼层
学习了
回复

使用道具 举报

发表于 2014-4-23 20:10 | 显示全部楼层
{:1112:}
回复

使用道具 举报

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

使用道具 举报

发表于 2014-6-26 08:17 | 显示全部楼层
同时对多个单元格修改单元格格式属性时,使用 Style 对象是快捷高效的方法。
  对于 Workbook 对象,Style 对象是 Styles 集合的成员。
  Styles 集合包含该工作簿的所有已定义样式。
  通过更改应用于单元格的样式的属性可更改单元格的外观。
  但要记住,更改样式的属性将影响所有以该样式格式化了的单元格。
谢谢分享,标记,六十二
回复

使用道具 举报

发表于 2016-2-5 19:09 来自手机 | 显示全部楼层
好帖,好帖来自: Android客户端
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 21:57 , Processed in 0.211012 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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