No.1
单元格居中、靠左、靠右,相信大多数人都知道怎么操作。
Excel菜单栏里有快捷功能键,那么如何用vba代码来实现呢?
下面具体介绍一下:
No.2
首先要明白,这些属性是如何使用的。
水平对齐属性:HorizontalAlignment
垂直对齐属性:VerticalAlignment
分别指单元格内水平方向和垂直方向的对方方式。
是属于Range对象下的属性。
使用方法:
Ra.HorizontalAlignment=xlHAlignCenter'水平距中对齐
Ra.VerticalAlignment=xlVAlignBottom'垂直底部对齐
Ra代表一个Range对象变量。
如何使用更熟练,一 定要记住下面的枚举。
枚举值和名称都可以作为属性值使用。
HorizontalAlignment
VerticalAlignment
No.3
示例代码
Private Sub CommandButton1_Click()
Dim H As String, V As String, Hx As Long, Vx As Long
H = Me.ComboBox1.Value
V = Me.ComboBox2.Value
Dim R As Range, Rx As Range
Set Rx = Range(Me.ComboBox1.ListFillRange)
For Each R In Rx
If R.Value = H Then
Hx = R.Offset(0, -1).Value
Exit For
End If
Next R
If VBA.Len(Hx) = 0 Then Exit Sub
Set Rx = Range(Me.ComboBox2.ListFillRange)
For Each R In Rx
If R.Value = V Then
Vx = R.Offset(0, -1).Value
Exit For
End If
Next R
If VBA.Len(Vx) = 0 Then Exit Sub
setRangeHV Hx, Vx'执行对齐方式
End Sub
本例中默认使用了两个ComboBox控件,并设置了ListFillRange属性。
引用ListFillRange属性赋值给Range对象变量Rx。
这个是很有特点的一个方法,有兴趣可以多做一些尝试。
如下代码:
Set Rx = Range(Me.ComboBox1.ListFillRange)
设置对齐过程
Private Sub setRangeHV(Hx As Long, Vx As Long)
Dim sR As Range
Set sR = Range("E3:J13")
With sR
.HorizontalAlignment = Hx
.VerticalAlignment = Vx
End With
End Sub
可以在按钮代码中看到最后有一行:
setRangeHV Hx, Vx'执行对齐方式
这是最关键的一行,也就是调用执行设置对齐的过程。
过程中定义了要设置的单元格范围E3:J13,可以设置自己需要的单元格,修改这个地址。
过程传递了两个变量,Hx、Vx
一个水平,一个垂直分别对应的对齐方式的值。
仔细看下来,其实也十分简单。
重点在于实际应用中去尝试。
欢迎关注、收藏
---END---