Уважаемые члены StackOverFlow-members,
Я пытаюсь динамически создавать текстовые поля в пользовательской форме и задавать текст по умолчанию в зависимости от значения на вкладке.
Сначала пользователь заполняет текстовые поля, как вФотоКогда он нажимает кнопку выше, он вызывает функцию, которая создает текстовые поля в той же форме пользователя.Точно столько же, сколько сумма значений текстовых полей, кроме того, для значения "0" он считается как 1 текстовое поле для добавления.
То, что я хочу, - это когда встречается значение 0
. Я хочу, чтобы новый текстовый ящик создавал для значения по умолчанию текст как "ноль".Вот так :
Мой код:
For i = 0 To UBound(tabValTextBox)
valTemp = tabValTextBox(i)
If valTemp = 0 Then
iTextBoxMasqueA = iTextBoxMasqueA + 1
Set textBoxCableA = UserForm1.Controls.Add("Forms.TextBox.1")
colTextBoxCableA.Add textBoxCableA
With textBoxCableA
.Name = "cable" & iTextBoxCableA
.Top = iTextBoxCableA * textBoxCableA.Height + 50
.Left = 150
.Text = "Nul"
End With
Else
For j = 0 To valTemp - 1
iTextBoxCableA = iTextBoxCableA + 1
Set textBoxCableA = UserForm1.Controls.Add("Forms.TextBox.1")
colTextBoxCableA.Add textBoxCableA
With textBoxCableA
.Name = "cable" & iTextBoxCableA
.Top = iTextBoxCableA * textBoxCableA.Height + 50
.Left = 150
End With
Next j
End If
Next i
tabValTextbox()
- это вкладка, содержащая значения левых текстовых полей.Однако результат, который я получаю, выглядит так:Я не получаю столько текстовых полей, как ожидалось.Я не понимаю, где я что-то упускаю.Я хочу извлечь уроки из этого, поэтому, если возможно, объясните мне, что я делаю не так, или если мой подход не хватает понимания.