Excel VBA编程 典型实例——调试进度条
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b = spFont.Name
c = spFore.Name
d = spBack.Name
End With
'设置数显文本框格式
With spFont
'填充为透明
.Fill.Visible = msoFalse
'无边框
.Line.Visible = msoFalse
'文字显示及其格式
With .TextFrame
Sheet1.Range("a7") = lngGuage
Sheet1.Range("b7") = lngCount - lngGuage
dShapeWidth = dWindowWidth / 150 * 50
dShapeHeight = 25
'添加前景文本框
With Sheet1.Shapes
Set spFore = .AddTextbox(1, dShapeLeft, dShapeTop, lngGuage / lngCount * dShapeWidth, dShapeHeight)
'设置前景文本框填充颜色
spFore.Fill.ForeColor.RGB = RGB(252, 180, 0)
'添加背景文本框
Set spBack = .AddTextbox(1, dShapeLeft + spFore.Width, dShapeTop, dShapeWidth - spFore.Width, dShapeHeight)
'文字水平对齐为居中
.HorizontalAlignment = xlHAlignCenter
'文字垂直对齐为居中
.VerticalAlignment = xlHAlignCenter
End With
End With
Sheet1.Shapes.Item(b).Delete
While lngGuage <= lngCount
图19-19指定宏
提示
单击【控件】组中的【插入】下拉按钮,选择“按钮(窗体按钮)”选项,即可绘制该按钮。
(5)在弹出的【代码】编辑窗口中,输入如图19-20所示的代码。
图19-20输入代码
其中,输入的代码如下:
Sub进度显示()
Dim lngCount As Long '需完成总量
Dim lngGuage As Long '已完成数量
Dim spBack As Shape '背景文本框
Dim spFore As Shape '前景文本框
Dim spFont As Shape '数显文本框
Dim dWindowHeight As Double '当前窗口可显示高度
Dim dWindowWidth As Double '当前窗口可显示宽度
dWindowLeft = ActiveSheet.Cells(.ScrollRow, .ScrollColumn).Left
End With
'设置文本框各项指标
dShapeTop = dWindowHeight - 150 + dWindowTop
dShapeLeft = dWindowWidth / 180 * 10 + dWindowLeft
With .Characters
'数显内容
.Text = Format(Round(lngGuage / lngCount * 100, 2), "0.00") & "%"
'字号
.Font.Size = 16
'加粗
.Font.Bold = 1
'字体颜色
.Font.ColorIndex = 2
End With
(1)新建一张空白工作簿,并在Sheet1工作表中,创建一个“工作进度”表格,如图19-16所示。
图19-16创建“工作进度”表格
提示
B3单元格中的数据是可以通过实际情况进行更改的。
(2)选择B3单元格,并选择【数据】选项卡,单击【数据工具】组中的【数据有效性】下拉按钮,执行【数据有效性】命令,如图19-17所示。
Dim dShapeHeight As Double '文本框高度
Dim b, c, d, f
For Each f In Sheet1.Shapes
If Left(f.Name, 13) = "Button 1" Then
Else
f.Delete
End If
Next
'初始化总量
lngCount = Sheet1.Range("b3")
'初始化已完成量为0
lngGuage = 0
'获取当前窗口指标
With ActiveWindow
dWindowHeight = .UsableHeight
dWindowWidth = .UsableWidth
dWindowTop = ActiveSheet.Cells(.ScrollRow, .ScrollColumn).Top
'设置背景文本框填充颜色
spBack.Fill.ForeColor.RGB = RGB(128, 128, 128)
'添加数显文本框
Set spFont = .AddTextbox(1, dWindowWidth / 2 - 260 + dWindowLeft, dShapeTop, 100, dShapeHeight)
Excel VBA
进度条可以反映工程的进度情况。下面运行“按钮”控件功能来制作进度条的控制按钮,并通过代码添加文本框来控件进度条的变化。在该例中,由于输入的代码有误,故可以使用On Error语句来判断错误范围,最后通过调试程序,完成进度条的制作。
1.练习要点
控件的应用
On Error语句的应用
2.操作步骤:
图19-17执行【数据有效性】命令
பைடு நூலகம்(3)在弹出的【数据有效性】对话框中,选择【输入信息】选项卡,并设置【标题】为“输入”;【输入信息】为“工程总量”,如图19-18所示。
图19-18设置数据有效性
(4)绘制一个“按钮1”控件,并在弹出的【指定宏】对话框中,设置【宏名】为“进度显示”;单击【新建】按钮,如图19-19所示。
Dim dWindowTop As Double '当前窗口最高点
Dim dWindowLeft As Double '当前窗口最左边
Dim dShapeTop As Double '文本框相对于窗口上边距
Dim dShapeLeft As Double '文本框相对于窗口左边距
Dim dShapeWidth As Double '文本框总宽度
c = spFore.Name
d = spBack.Name
End With
'设置数显文本框格式
With spFont
'填充为透明
.Fill.Visible = msoFalse
'无边框
.Line.Visible = msoFalse
'文字显示及其格式
With .TextFrame
Sheet1.Range("a7") = lngGuage
Sheet1.Range("b7") = lngCount - lngGuage
dShapeWidth = dWindowWidth / 150 * 50
dShapeHeight = 25
'添加前景文本框
With Sheet1.Shapes
Set spFore = .AddTextbox(1, dShapeLeft, dShapeTop, lngGuage / lngCount * dShapeWidth, dShapeHeight)
'设置前景文本框填充颜色
spFore.Fill.ForeColor.RGB = RGB(252, 180, 0)
'添加背景文本框
Set spBack = .AddTextbox(1, dShapeLeft + spFore.Width, dShapeTop, dShapeWidth - spFore.Width, dShapeHeight)
'文字水平对齐为居中
.HorizontalAlignment = xlHAlignCenter
'文字垂直对齐为居中
.VerticalAlignment = xlHAlignCenter
End With
End With
Sheet1.Shapes.Item(b).Delete
While lngGuage <= lngCount
图19-19指定宏
提示
单击【控件】组中的【插入】下拉按钮,选择“按钮(窗体按钮)”选项,即可绘制该按钮。
(5)在弹出的【代码】编辑窗口中,输入如图19-20所示的代码。
图19-20输入代码
其中,输入的代码如下:
Sub进度显示()
Dim lngCount As Long '需完成总量
Dim lngGuage As Long '已完成数量
Dim spBack As Shape '背景文本框
Dim spFore As Shape '前景文本框
Dim spFont As Shape '数显文本框
Dim dWindowHeight As Double '当前窗口可显示高度
Dim dWindowWidth As Double '当前窗口可显示宽度
dWindowLeft = ActiveSheet.Cells(.ScrollRow, .ScrollColumn).Left
End With
'设置文本框各项指标
dShapeTop = dWindowHeight - 150 + dWindowTop
dShapeLeft = dWindowWidth / 180 * 10 + dWindowLeft
With .Characters
'数显内容
.Text = Format(Round(lngGuage / lngCount * 100, 2), "0.00") & "%"
'字号
.Font.Size = 16
'加粗
.Font.Bold = 1
'字体颜色
.Font.ColorIndex = 2
End With
(1)新建一张空白工作簿,并在Sheet1工作表中,创建一个“工作进度”表格,如图19-16所示。
图19-16创建“工作进度”表格
提示
B3单元格中的数据是可以通过实际情况进行更改的。
(2)选择B3单元格,并选择【数据】选项卡,单击【数据工具】组中的【数据有效性】下拉按钮,执行【数据有效性】命令,如图19-17所示。
Dim dShapeHeight As Double '文本框高度
Dim b, c, d, f
For Each f In Sheet1.Shapes
If Left(f.Name, 13) = "Button 1" Then
Else
f.Delete
End If
Next
'初始化总量
lngCount = Sheet1.Range("b3")
'初始化已完成量为0
lngGuage = 0
'获取当前窗口指标
With ActiveWindow
dWindowHeight = .UsableHeight
dWindowWidth = .UsableWidth
dWindowTop = ActiveSheet.Cells(.ScrollRow, .ScrollColumn).Top
'设置背景文本框填充颜色
spBack.Fill.ForeColor.RGB = RGB(128, 128, 128)
'添加数显文本框
Set spFont = .AddTextbox(1, dWindowWidth / 2 - 260 + dWindowLeft, dShapeTop, 100, dShapeHeight)
Excel VBA
进度条可以反映工程的进度情况。下面运行“按钮”控件功能来制作进度条的控制按钮,并通过代码添加文本框来控件进度条的变化。在该例中,由于输入的代码有误,故可以使用On Error语句来判断错误范围,最后通过调试程序,完成进度条的制作。
1.练习要点
控件的应用
On Error语句的应用
2.操作步骤:
图19-17执行【数据有效性】命令
பைடு நூலகம்(3)在弹出的【数据有效性】对话框中,选择【输入信息】选项卡,并设置【标题】为“输入”;【输入信息】为“工程总量”,如图19-18所示。
图19-18设置数据有效性
(4)绘制一个“按钮1”控件,并在弹出的【指定宏】对话框中,设置【宏名】为“进度显示”;单击【新建】按钮,如图19-19所示。
Dim dWindowTop As Double '当前窗口最高点
Dim dWindowLeft As Double '当前窗口最左边
Dim dShapeTop As Double '文本框相对于窗口上边距
Dim dShapeLeft As Double '文本框相对于窗口左边距
Dim dShapeWidth As Double '文本框总宽度