Я не уверен, почему установка свойства scrollbar.Min
вызывает событие, когда я присваиваю ему значение, но свойство scrollbar.Max
не запускает событие, когда я присваиваю ему значение.
используемый код приведен ниже:
Me.scrPieces.Min = frmSettings.tbxPiecesLow.Value
Me.scrPieces.Max = frmSettings.tbxPiecesHigh.Value
Me.scrPieces.SmallChange = Application.WorksheetFunction.RoundUp((frmSettings.tbxPiecesHigh.Value - frmSettings.tbxPiecesLow.Value) / 40, 0)
Me.scrPieces.LargeChange = Application.WorksheetFunction.RoundUp((frmSettings.tbxPiecesHigh.Value - frmSettings.tbxPiecesLow.Value) / 8, 0)
Когда я прохожу через Me.scrPieces.Min = frmSettings.tbxPiecesLow.Value
и ему присваивается значение, происходит событие scrPieces.Change()
:
Private Sub scrPieces_Change()
i = Me.scrPieces.Min
j = 0
Me.tbxPiecesD = Me.scrPieces.Value
Do While i <= Me.scrPieces.Max
ThisWorkbook.Worksheets("Simulation-Chart").Cells(2 + j, 1) = i
ThisWorkbook.Worksheets("Simulation-Chart").Cells(2 + j, 2) = (CostPerPiece * (Me.scrFoilMarkup.Value / BigNum) + LaborCostPerPiece * (Me.scrLaborMarkup.Value / BigNum)) * (Me.scrQuoteMarkup.Value / BigNum)
i = i + (Me.scrPieces.Max - Me.scrPieces.Min) / 10
j = j + 1
Loop
MyChart.Export Filename:=ImgName, FilterName:="GIF"
Me.imgChart.Picture = LoadPicture(ImgName)
End Sub
Но когда я прохожуMe.scrPieces.Max
, он не будет активировать событие scrPieces.Change()
и просто перейдет к следующей строке.
См. Фотографии ниже:
Пошаговое выполнение кода после назначения значения дляscrPieces.Min
, как показано ниже:
Событие scrPieces_Change()
сработает
Однако, присваивая scrPieces.Max
не будет запускать событие.
Код будет немедленно перемещен на следующую строку, как показано ниже: