RPA开发笔记-如何简单快速设置Excel表格格式

"10分钟学会VBA设置格式"

Posted by Rosa on March 4, 2019

Uipath开发笔记-10分钟学会如何给Excel文件设置格式

本文介绍了如何通过在Uipath中调用VBA来快速设置常见的Excel格式。 部分内容参考了网络,不属于我本人。如有侵权,请联系我删除。

单元格背景/字体颜色

如果你想改变单元格的背景色用:  rng.Interior.ColorIndex= 如果你想改变单元格的字体的颜色:  rng.font.ColorIndex=

设置什么颜色由指定的颜色序号决定:

单元格边框

设置框线类型

设置单元格边框使用语句: rng.Borders.LineStyle = LineStyles

其中第一种xlContinuous表示的就是最基础的边框风格:1倍黑色实线边框;其他还有虚线、双线等。 也可以直接指定风格的值而不是名称。

设置边框颜色

边框的颜色有两种设置方法: 使用颜色序号: rng.Borders.ColorIndex = 3 使用RGB号码: rng.Borders.Color = RGB(0, 255, 0)

设置边框粗细

rng.Borders.Weight = xlThick 同样有几种风格可以套用:

BorderWeight

设置框线方向

默认是全包的方向,如果要设置某一边,需要在borders后边直接加括号,在括号里说明方向: rng.Borders(xlEdgeBottom).LineStyle = xlContinuous的效果是将该区域的底部加边框:

xlEdgeBottom

xlInsideHorizontal则是该区域的内部每个单元格底部加边框。

其他风格可以在MSDN中搜索并使用。

列宽、行高

使用rng.ColumnWidth = 20设置列宽。 使用rng.RowHeight = 20设置列宽。

自动换行

使用rng.WrapText = true即可设置单元格为自动换行。

如何动态地选择要设置格式的区域?

采用currentRegion可以很方便的选择当前的活动表格区域。效果如下图: currentRegion

使用方法参考如下代码:

Sub lqxs()
Dim rng As Range
#设定范围
Set rng = [a1].CurrentRegion
#使用该范围
rng.Borders.LineStyle = 1

End Sub

如何方便地针对一个对象设置其多个格式属性?

使用With语句可以方便地针对一个对象设置其多个属性,省略部分代码: 需要注意与EndWith搭配使用。

With rng.Borders
.LineStyle = xlContinuous
.ColorIndex = 3
.Weight = xlThick
End With

如何指定一个范围?

使用Range(cell_a,cell_b)可以指定一个从cell_a到cell_b的范围。可以理解成一个对角线的连续范围。

也可以用Range("cell_a,cell_b")指定一个包括了cell_a和cell_b的范围。可以理解成两个单元格的区域。(有待验证)

此外用cell来指定range的用法还有Range(Cells(2, 2), Cells(4, 4)),这个用法等同于Range("B2:D4")Range(B2,D4)

上述cell_a和cell_b也可以是range_a和range_b。理解可以参考下文。

理解Range(“B2:B4, D2:D4”)和Range(“B2:B4”, “D2:D4”)的区别

先看清楚,上面两种格式一个是把两个区域放在一个双引号里面,用逗号隔开;另一个是把两个区域分别放在双引号里面。 用逗号隔开前者是分别引用B2:B4和D2:D4这两个区域,而后者则表示引用的是从B2:B4开始到D2:D4结束为止的这一整个连续的区域。所以后者其实是等价于Range(“B2:D4”)。所以虽然使用后者的方式来使用Range也不会报错,但其实通常并不会这么使用。

###