Excel精英培训网

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

跟着校长学VBA之第13集:单元格信息

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

前面学习了工作簿,工作表,单元格。
今天继续学习单元格的内容。

1.单元格的值
value ,默认属性,单元格内的真实值
value2,该属性与Value 属性的唯一区别是:Value2属性不使用 CurrencyDate 数据类型。可以通过使用 Double 数据类型,以浮点数形式返回这些数据类型格式的数值。
text,我们看到的单元格显示的内容(自定义格式), 通过自定义格式(.NumberFormat)就间接改变了text属性。
formula ,A1样式表示的公式
formulaR1C1,R1C1样式表示的 公式
NumberFormat,自定义格式

通过对以上属性赋值(text例外),就可以改变单元格的值
  1. Worksheets("Sheet1").Range("A1").Value = 3.14159
  2. Set c = Worksheets("Sheet1").Range("B14")
  3. c.Value = 1198.3
  4. c.NumberFormat = "$#,##0_);($#,##0)"
  5. MsgBox c.Value
  6. MsgBox c.Text
  7. Worksheets("Sheet1").Range("A1").Formula = "=$A$4+$A$10"
  8. Worksheets("Sheet1").Range("B1").FormulaR1C1 = "=SQRT(R1C1)"
复制代码
2.单元格的地址
address属性,参数可F1
  1. Set mc = Worksheets("Sheet1").Cells(1, 1)
  2. MsgBox mc.Address()                              ' $A$1
  3. MsgBox mc.Address(RowAbsolute:=False)            ' $A1
  4. MsgBox mc.Address(ReferenceStyle:=xlR1C1)        ' R1C1
  5. MsgBox mc.Address(ReferenceStyle:=xlR1C1, _
  6.     RowAbsolute:=False,     _
  7.     ColumnAbsolute:=False,  _
  8.     RelativeTo:=Worksheets(1).Cells(3, 3))        ' R[-2]C[-2]
复制代码
3.单元格的行列信息
row ,行号
column,列号
rows.count,行数
columns.count,列数

4.单元格的格式信息
字体,背景色,前景色,加粗,这些可以通过录制宏的格式学习。
  1.     Sub x4()
  2.       With Range("b2")
  3.         [b19] = .Font.Size
  4.         [b20] = .Font.ColorIndex
  5.         [b21] = .Interior.ColorIndex
  6.         [b22] = .Borders.LineStyle
  7.       End With
  8.     End Sub
复制代码
5.单元格批注
  1.      Sub x5()
  2.         [B24] = Range("I2").Comment.Text
  3.         Worksheets(1).Range("E5").AddComment "Current Sales"
  4. End Sub
复制代码
清除批注可用Clearcomments方法

6. 单元格的位置信息
left
top
width
height
大家奇怪,怎么没有right和bottom吧?其实用left+width,top+height不就得出来了嘛。
这里的单位是磅

7.单元格的上级信息
  1.     Sub x7()
  2.       With Range("b3")
  3.         [b31] = .Parent.Name
  4.         [b32] = .Parent.Parent.Name
  5.       End With
  6.     End Sub
复制代码
用这个parent.name,可比宏表快多了。

8.内容判断
  1.       Sub x8()
  2.        With Range("i3")
  3.         [b34] = .HasFormula
  4.         [b35] = .Hyperlinks.Count
  5.        End With
  6.       End Sub
复制代码
  1. Worksheets("Sheet1").Activate
  2. If ActiveCell.HasArray =True Then
  3.     MsgBox "The active cell is part of an array"
  4. End If
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-20 08:27 , Processed in 0.231407 second(s), 3 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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