Шаг 46 - Доступ к одинаковым элементам управления

Артем привет!

Есть вот такой код:

str1.Cells(kod_filiala + 6, 4) = Val(Form2.TextBox1.Text)

str1.Cells(kod_filiala + 6, 5) = Val(Form2.TextBox2.Text)

str1.Cells(kod_filiala + 6, 6) = Val(Form2.TextBox3.Text)

str1.Cells(kod_filiala + 6, 7) = Val(Form2.TextBox4.Text)

str1.Cells(kod_filiala + 6, 8) = Val(Form2.TextBox5.Text)

str1.Cells(kod_filiala + 6, 9) = Val(Form2.TextBox6.Text)

str1.Cells(kod_filiala + 6, 10) = Val(Form2.TextBox7.Text)

str1.Cells(kod_filiala + 6, 11) = Val(Form2.TextBox8.Text)

Возможно ли все эту писанину заменить на такую

For i=1 to n

Условия......

end if

т.е. чтобы ТекстБоксы перебирались как массив.

С Уважением, Владимир.

**********************************************

With best wishes, Vladimir(Владимир)

My E-mail stilvlad@chat.ru (text only, koi-8 only, 60 kb),

stilvlad@mail.ru (all formats).

My Web: http://stilvlad.chat.ru

**********************************************

*Пожалуйста цитируйте всю переписку со мной*

Чтож давайте попробуем. Создаем книгу. На ней расположим именованные ячейки.

TB1

TB2

TB3

TB4

Создали форму и на ней элементы TextBox. Внимание, сначала создавайте TextBox, а потом кнопки, это позволит избежать проверки типов для Controls. Имена:

TBB1

TBB2

TBB3

TBB4

Код по кнопке "ДА":

Private Sub CommandButton1_Click()

' объект элемент управления

Dim objObject As Control

' объект диапазон

Dim raRange As Range

' строка с адресом диапазона

Dim stAdders As String

' цикл по всем элементам управления

For x = 0 To UserForm1.Controls.Count - 3

' присвоить обьекту элемент управления

Set objObject = UserForm1.Controls.Item(x)

' создать адрес ячейки

stAdders = "TB" + LTrim(Str(x + 1))

' получить диапазон

Set raRange = Range(stAdders)

' присвоить ему значение из элемента управления

raRange.Value = objObject.Text

Next x

' закрыть форму

Unload Me

End Sub

Код кнопки "нет":

Private Sub CommandButton2_Click()

Unload Me

End Sub

Запускной макрос:

Sub TestForm()

UserForm1.Show

End Sub

Вот и все. Попробуйте. Можете загрузить проект и посмотреть.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: