Шаг 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 [email protected] (text only, koi-8 only, 60 kb), [email protected] (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
Вот и все. Попробуйте. Можете загрузить проект и посмотреть.
Загрузить проект | Предыдущий Шаг | Следующий Шаг
Автор Каев Артем.