With语句的使用方法以及通过VBA代码设置EXCEL表格边框和字体
With语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称,可以简化代码。With后面应该是一个具体的对象而不是一个对象集合,比如下面示例中的With Range("A2:G8")是正确的,如果写成With Range就是错误的,With里面的属性或方法语句必须以英文句点(.)开头,这个英文句点(.)就代表前面With Range("A2:G8")中的对象Range("A2:G8"),
当程序一旦进入 With块,由With指定的对象就不能改变。因此不能用一个 With 语句来设置多个不同的对象。
可以将一个 With块放在另一个之中,而产生嵌套的 With 语句。但是,由于外层 With 块成员会在内层的 With 块中被屏蔽住,所以必须在内层的 With 块中,使用完整的对象引用来指出在外层的 With 块中的对象成员。如下面示例中,在With语句中使用range("A2").Borders(xlDiagonalUp).LineStyle = True来设置With指定的对象以外的对象
Sub 设置边框和字体()
With Range("A2:G8")
"注:下面的xlNone 和flase是一样的,都是不显示的意思
.Borders(xlDiagonalDown).LineStyle = false "不显示右斜线,所选区域的每一个单元格
range("A2").Borders(xlDiagonalUp).LineStyle = True "设置A2单元格显示左斜线
.Borders(xlEdgeLeft).LineStyle = True "设置显示左边线,如果选择的区域包括多行多列单元格,只对最左边一列单元格的左边线有效
.Borders(xlEdgeTop).LineStyle = True "设置显示上边线,如果选择的区域包括多行多列单元格,只对最上面一行单元格的上边线有效
.Borders(xlEdgeBottom).LineStyle = True "设置显示下边线,如果选择的区域包括多行多列单元格,只对最下面一行单元格的下边线有效
.Borders(xlEdgeRight).LineStyle = True "设置显示右边线,如果选择的区域包括多行多列单元格,只对最右边一列单元格的右边线有效
.Borders(xlInsideVertical).LineStyle = xlNone "不显示中间竖线,选择区域中间所有竖线,不包含最左边和最右边,单个单元格不存在中间竖线
.Borders(xlInsideHorizontal).LineStyle = xlNone "不显示中间横线,"中间横线,选择区域中间所有横线,不包含最上边和最下边,单个单元格不存在中间横线
.Borders.LineStyle = 1 "设置边框线条样式 xlContinuous 或数值 1 实线。xlDash 或数值 -4115 虚线。xlDashDot 或数值 4 点划相间线。xlDashDotDot 或数值 5 划线后跟两个点。xlDot 或数值 -4118 点式线。xlDouble 或数值 -4119 双线。xlLineStyleNone 或数值 -4142 无线条。xlSlantDashDot 或数值 13 倾斜的划线。
With .Font "字体相关
.Color = RGB(255, 0, 0) "字体颜色
.Bold = True "设置为粗体
.Italic=true "设置为斜体
.Size = 12 "设置字体大小
.Name = "黑体" "设置字体为黑体
End With
.Interior.ColorIndex=6 "设置选择区域单元格内部背景色,使用颜色索引值设置方法,也可以使用上面设置字体颜色的方法使用RGB方法设置颜色。
End With
附:ColorIndex默认颜色编号值
如果需要使用其它颜色可以使用Color=rgb(0,0,0)的方法设置,RGB里的三组数字代表光学三原色红绿蓝,数值范围0-255
可以通过调色板获取自己想要的颜色的RGB值,在单元格上点右键》“设置单元格格式”,在弹出的窗口中选“填充”,在新的弹出窗口中选“自定义”然后选择自己想要的颜色,底下就会显示RGB对应的颜色值。