gpt4 book ai didi

math - 计算进度条的百分比填充

转载 作者:行者123 更新时间:2023-12-04 22:08:40 25 4
gpt4 key购买 nike

我在 Excel VBA 中的用户窗体上设置进度条图像的错误宽度时遇到问题。

我有一个用户表单,该表单上有一个标签和一个图像。

图像的最大宽度为 330。

在从 1 到 intNumberOfGetRows(在本例中为 64)的循环中,我想更新图像的 width 属性以显示进度,因为大型记录集的每个 1000 条记录 block 都放入数组中并写入 csv 文件。

这是我的代码:

  For intRecord = 1 To intNumberOfGetRows + 1 ' outer loop

' put the data in an array and print to file
arrContacts = adoRsMailshotAccConData.GetRows(intRows)

With fsOutputFile

For iDx = 0 To UBound(arrContacts, 2)
.WriteLine arrContacts(0, iDx)
Next

'.Close
End With

sMsg = "Number " & intRecord & " of " & intNumberOfGetRows
Application.StatusBar = sMsg

With frmProgress
.lblProgress.Caption = sMsg
.imgProgress.Width = (intRecord / intNumberOfGetRows) * 330
DoEvents
.Repaint
End With

DoEvents
Next

当 intRecord 为 13 时,应该是填充图像的 20% 左右,这意味着图像的宽度应该是 66,所以我想出了这个:

330 * (intRecord/intNumberOfGetRows * 100)/100

看起来我好像忘记了我的基本数学理论,那是最好的方法吗?

感谢您提供有关如何改进此问题的任何建议

菲利普

最佳答案

你不需要那里的那100个。您只希望您的进度显示您已完成(在您的示例中)总数的 13/64,总数为 330,因此您需要计算的只是 330 * (13/64):
330 * (intRecord / intNumberOfGetRows)

关于math - 计算进度条的百分比填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14956247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com