使用VBA excel创建进度线
我尝试使用VBA Excel命令创建进度线 我有所有的数据来定义什么是进步 我不知道如何使用VBA创建进度线 例如,我尝试使用连接线,但似乎不起作用使用VBA excel创建进度线,excel,progress,vba,Excel,Progress,Vba,我尝试使用VBA Excel命令创建进度线 我有所有的数据来定义什么是进步 我不知道如何使用VBA创建进度线 例如,我尝试使用连接线,但似乎不起作用 ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 60, 405,800, 477).Select Range("Z20").Select ActiveSheet.Shapes.Range(Array("Straight Connector 11671")).Select 我不会对进度条使
ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 60, 405,800, 477).Select
Range("Z20").Select
ActiveSheet.Shapes.Range(Array("Straight Connector 11671")).Select
我不会对进度条使用形状,而是在由代码更新单元格值的单元格上使用数据栏条件格式 在工作表的一个单元格上创建命名区域,例如ProgressBar 调整宽度以满足您的需要 将单元格格式化为百分比 选择条件格式->新规则->根据单元格的值设置所有单元格的格式 在“格式样式”下拉列表中,选择“数据栏” 选中“仅显示栏”复选框 在类型下拉列表中,选择数字作为最小值和最大值 在“值”文本框中,输入0表示最小值,输入1表示最大值 根据需要设置格式 在VB编辑器中,输入以下代码
Sub UpdateProgressBar()
Dim Rows As Integer
Dim RowItem As Integer
Rows = 1000
For RowItem = 0 To Rows
Sheet1.Range("ProgressBar").Value = RowItem / Rows
Next RowItem
MsgBox "Done!"
Sheet1.Range("ProgressBar").Value = 0
End Sub
然后,这将更新单元格中的值,数据栏将随着值的增加而增长
您需要适应自己的代码,但这应该是一个起点。创建进度条的一些方法: 使用application.statusbar 或者,使用userform,在其中更改任何矩形类型的宽度属性,我使用带有漂亮图片字体的按钮 使用形状,从中通过更改其宽度属性来更改大小 最难的部分是让它足够快,所以它不会影响性能,有时也会 将application.screenUpdate=false联合添加到doevents时,它可能会闪烁。。。还是不 如果你需要一些代码,我可以为你提供一个示例,你可以根据需要进行更改