Excel
6
Вклад в тег
Private Sub TextBox1_Change()
Label1.Width = UserForm1.Width
Label1.Caption = TextBox1.Text
If Label1.Width > TextBox1.Width Then
Label1.Font.Size = Label1.Font.Size * (TextBox1.Width / Label1.Width / 1.1)
TextBox1.Font.Size = Label1.Font.Size
End If
End Sub
Dim Number, Minimum, Room, Product, Data, X As Double
вовсе не означает, что все переменные имеют тип Double
. В VBA каждой переменной надо задавать отдельный тип: Dim Number As Integer, Minimum As Double, Data As Double, Room As Integer, Product As Double, X As Double
Double
только последнюю переменную. Все остальные инициализируются как Variant
. Таким образом, Data
у Вас получается текстовой переменной поскольку извлекается из InputBox
. Это приводит к тому что "-1" < "-2" (1 < 2). If Data > Minimum Then
Вы находите не минимум, а максимум. If X = 1 Then
Minimum = Data
Room = X
End If
If Data < Minimum Then
Minimum = Data
Room = X
End If
If Data < 0 Then
If Product = 0 Then
Product = Data
Else
Product = Product * Data
End If
End If