excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel「VBA教程」Range对象

本文于2023年10月24日首发于本人同名其他平台,更多文章案例请搜索关注!

内容提要

  • Range对象的用法

大家好,我是冷水泡茶,这两天在捣鼓【用印管理系统】,前面挖下的坑,得想办法给填上。虽然是根据【电子发票登记系统(Access版)】来修改的,有很多参考,不用从头做起,但是工作量还是不小的,复杂程度也不低。前一段时间做了一点,又搁置了,这两天再接着搞的时候,发现很多思路、逻辑都有点模糊了。所以啊,不管做什么事,最好能一气呵成、一鼓作气,最起码别间隔太长时间,否则就要浪费更多的时间。本来以为很快就能做好,但还有一些功能没有完成,还得等两天。扯远了。

前面我们讲过WorkBook对象【WorkBook对象】、【Worksheet对象】,今天我们一起来了解一下Range对象

一、什么是Range对象?

Range,区域的意思,代表了一个单元格或一组单元格的范围。

二、常用的属性、方法

1、定义一个Range对象。

Dim rng As Range

2、引用Range对象 ,假设我们定义了一个工作表对象ws。

Set rng = ws.Range("A1:B2")Set rng = ws.Range("C1")Set rng = ws.Range(ws.Cells(1, 1), ws.Cells(3, 3)).Set rng = ws.UsedRangeSet rng = ws.Range("A1").CurrentRegion

3、批注:

Set rng = ws.Range("C1")If Not rng.Comment Is Nothing Then    rng.Comment.DeleteElse    rng.AddComment CStr(Now)End If

添加批注只能针对一个单元格,如果rng有多个单元格,则需要使用其Cells属性来设置。可以通过循环来批量设置,也可以指定具体的单元格来设置。

Dim cell As RangeFor Each cell In rng.Cells    If Not cell.Comment Is Nothing Then        cell.Comment.Delete    End If    cell.AddComment CStr(Now)Next

4、Address:Range对象的单元格区域地址。

Set rng = ws.Range(ws.Cells(1, 1), ws.Cells(3, 3))Debug.Print rng.Address'运行结果是:$A$1:$C$3

5、AutoFit:自动最合适行高、列宽

rng.Columns.AutoFitrng.Rows.AutoFit

6、Borders:边框

rng.Borders.LineStyle = xlContinuous

7、Cells:单元格,工作表也有Cells属性,可不可以这么理解,一个工作表就是一个大Range?

rng.Cells.Clear '清除内容和格式,在向Range写入新数据之前,'我们要清除数据,防止不能完全覆盖。

Cells有很多属性与方法跟Range是类似的。

8、Clear:清除数据

rng.Clear  '清除所有rng.ClearComments  '清除批注rng.ClearContents  '清除内容rng.ClearFormats   '清除格式

9、Copy:复制

rng.Copy Destination:=ws.Range("F1")

10、Delete:删除。

rng.Delete shift:=xlUp

11、EntireColumn,整列;EntireRow,整行。

rng.EntireColumn.Deleterng.EntireRow.Delete

12、Find:查找包含指定值的单元格:

Set cell = rng.Find(What:=5, LookIn:=xlValues, LookAt:=xlWhole)

13、Font:设置字体

With rng.Font    .Name = "黑体"    .Bold = True    .Color = vbRed    .Size = 16    .Underline = xlUnderlineStyleSingleEnd With

14、Formula:设置单元格公式。

rng.Formula = "=rand()"

15、HorizontalAlignment:设置水平对齐方式。

rng.HorizontalAlignment = xlLeftrng.HorizontalAlignment = xlCenterrng.HorizontalAlignment = xlRight

16、Insert:插入单元格

rng.Insert shift:=xlDown, copyorigin:=True

‍17、Interior.Color:设置背景色

rng.Interior.Color = vbBlue

18、Merge:合并单元格

rng.Merge

19、NumberFormat/NumberFormatLocal:设置数字格式

rng.NumberFormat = "@"rng.NumberFormatLocal = "#,##0.00_ ;[红色]-#,##0.00 "

20、OffSet:偏移,返回一个Range,跟工作表函数OffSet有很大区别。

Debug.Print rng.Offset(1, 1).Address

21、Resize:扩展区域

Set rng = ws.Range("A1")Set rng = rng.Resize(10, 15)Debug.Print rng.Address

22、行高与列宽

rng.RowHeight = 20rng.ColumnWidth = 10

行高的单位是“点”(Point),1点=1/72英寸。

列宽的单位是“字符宽度”,默认情况下,一个字符的宽度被定义为8.43个点。

23、Select:选中

rng.Select

24、Value:值,默认属性,可以省略。

rng.Value = 6

25、VerticalAlignment:单元格垂直对齐方式。

rng.VerticalAlignment = xlToprng.VerticalAlignment = xlCenterrng.VerticalAlignment = xlBottom

26、WrapText:自动换行

rng.WrapText = True

四、总结

Range的属性与方法非常多,这里仅列出了一些我觉得比较常用的,或者说是我用过的。感兴趣的朋友可以自己慢慢去测试。

好,今天就到这吧。

~~~~~~End~~~~~~

喜欢就点个赞、点在看、留言评论、分享一下呗!感谢支持!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年8月    »
1234
567891011
12131415161718
19202122232425
262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接