У меня проблемы с моим кодом, потому что даже если (Me.scrFoilMarkup.Max / BigNum) = i
(например, 1.8 = 1.8), логическое значение все равно возвращает False
.Кроме того, код заканчивается в этой точке - это означает, что программа обнаружила, что i
больше Me.scrFoilMarkup.Max / BigNum
при 1,8 = 1,8.Причина для BigNum, который в моем случае равен 100 000, заключается в том, что на полосе прокрутки пользовательской формы возникают проблемы с хранением десятичных чисел, поэтому я преобразую ее в целое число, чтобы предотвратить эту проблему.
В случае, если это может быть какой-либо помощи, i
объявляется как Double
тип
i = Me.scrFoilMarkup.Min / BigNum
j=0
Do While i <= Me.scrFoilMarkup.Max / BigNum
ThisWorkbook.Worksheets("Simulation-Chart").Cells(2 + j, 1) = i
i = i + ((Me.scrFoilMarkup.Max - Me.scrFoilMarkup.Min) / BigNum) / 10
j= j + 1
Loop
Предполагая Me.scrFoilMarkup.Min / BigNum
= 1,3 и Me.scrFoilMarkup.Max / BigNum
= 1,8, что яДля этого нужно знать, что i
действительно равно Me.scrFoilMarkup.Max / BigNum
, тогда в моей электронной таблице должно быть напечатано значение i
, как показано ниже, для использования в качестве значений моей диаграммы.
![enter image description here](https://i.stack.imgur.com/gvr30.png)
Другой код при инициализации пользовательской формы:
Me.scrFoilMarkup.Min = frmSettings.tbxFoilMarkupLow.Value * BigNum
Me.scrFoilMarkup.Max = frmSettings.tbxFoilMarkupHigh.Value * BigNum
Me.scrFoilMarkup.SmallChange = ((frmSettings.tbxFoilMarkupHigh.Value - frmSettings.tbxFoilMarkupLow.Value) / 40) * BigNum
Me.scrFoilMarkup.LargeChange = ((frmSettings.tbxFoilMarkupHigh.Value - frmSettings.tbxFoilMarkupLow.Value) / 8) * BigNum
![enter image description here](https://i.stack.imgur.com/7rcvY.png)
Исходные параметрыФорма:
![enter image description here](https://i.stack.imgur.com/F24qq.png)