VBA|使用窗体控件13:可折叠对话框的RefEdit控件

使用RefEdit控件可折叠当前操作的对话框,让用户在Excel工作表中拖动鼠标选择一个单元格区域,并将该选择区域填充到RefEdit控件框中。

下面以一个“用RefEdit实现的设置单元格格式窗体”的实例来说明选项按钮的使用。

1 新建窗体并插入如下控件:

2 编写调用窗体过程

Sub 设置字体格式()

frmFontsize.Show

End Sub

3 编写窗体代码

Private Sub UserForm_Initialize()

With cmbFont

.AddItem "宋体"

.AddItem "黑体"

.AddItem "楷体"

.AddItem "仿宋_GB2312"

.Value = .List(0)

End With

For i = 8 To 72

cmbSize.AddItem i

Next

cmbSize.Value = 8

End Sub

Private Sub chkBold_Click() '预览字形(粗体)

lblPreview.Font.Bold = chkBold.Value

End Sub

Private Sub chkItalic_Click() '预览字形(斜体)

lblPreview.Font.Italic = chkItalic.Value

End Sub

Private Sub cmbFont_Change() '预览字体

lblPreview.Font.Name = cmbFont.Value

End Sub

Private Sub cmbSize_Change() '预览字号

lblPreview.Font.Size = cmbSize.Value

End Sub

Private Sub cmdSet_Click()

Dim rng As Range, i As Integer, str1 As String

If RefEdit1.Value = "" Then '未选择单元格区域

MsgBox "请先在工作表区域拖动鼠标,选择一个单元格区域!", vbCritical + vbOKOnly

Exit Sub

End If

i = InStr(1, RefEdit1.Value, "!") '去掉工作表名

str1 = Mid(RefEdit1.Value, i + 1)

Set rng = Range(str1) '获取对单元格区域的引用

With rng.Font '设置格式

.Name = cmbFont.Value '字体

.Size = cmbSize.Value '字号

.Bold = chkBold.Value '粗体

.Italic = chkItalic.Value '斜体

End With

End Sub

Private Sub cmdClose_Click()

Unload Me

End Sub

在打开窗体后,即可进行如下操作:

-End-

举报
评论 0