С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/35: Рейтинг темы: голосов - 35, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 12.04.2011
Сообщений: 35
1

Заполнение массива из формы(Excel)

29.04.2011, 02:12. Показов 6908. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Матрицу M(5,5) нужно заполнить через форму вводя данные в соответствующие поля. У меня на форме 25 полей TextBox и кнопка.
Visual Basic
1
2
3
4
5
6
7
8
Private Sub CommandButton1_Click()
Dim M(1 To 5, 1 To 5) As Integer
M(1, 1) = UserForm1.TextBox1.Text
M(1, 2) = UserForm1.TextBox2.Text
M(1, 3) = UserForm1.TextBox3.Text
' ...
M(5, 5) = UserForm1.TextBox25.Text
End Sub
Как сделать так, чтобы не вводить все 25 адресов?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2011, 02:12
Ответы с готовыми решениями:

Заполнение формы в Excel-е
Уважаемые Асы в Excel-е помогите с примером Я создал форму заполнения счёта-фактуры. Нужно чтобы...

Заполнение ячеек листа Excel из массива
Есть массив строк, нужно заполнить первый столбец значениями из массива Добавлено через 3 минуты...

Заполнение динамического массива с листа Excel
Добрый день! Столкнулась с такой задачей: необходимо создать процедуру ReadArray для считывания...

Создание и заполнение двумерного массива из данных в excel
Есть 2 столбца в excel со значениями x и у. Известно, что данные записаны в столбцах A и B...

3
1687 / 559 / 74
Регистрация: 10.04.2009
Сообщений: 9,143
29.04.2011, 05:38 2
двумя циклами, один вложенный в другой, а интересно одним циклом можно???
0
Заблокирован
29.04.2011, 11:57 3
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub CommandButton1_Click()
Dim Массив(1 To 2, 1 To 2) As String
Dim i As Integer, j As Integer, k As Integer
For i = 1 To 2 Step 1
    For j = 1 To 2 Step 1
        k = k + 1
        Массив(i, j) = Me.Controls("TextBox" & k).Text
    Next j
Next i
End Sub
В этой части кода: Me.Controls("TextBox" & k).Text
"TextBox" & k означает имя TextBox. Имена можно назначать самим, но если этого не делать, то имена назначаются автоматически, а номер присваивается в порядке помещения TextBox на форму.
0
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
29.04.2011, 16:08 4
Мой вариант предусматривает перебор всей коллекции ЭУ на форме однопроходным циклом, выбор из них всех TextBox и автоматически ввод в двумерный массив.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub CommandButton1_Click()
    Dim ctl As Control, i As Long
    Dim M(1 To 5, 1 To 5) As Integer
    
    i = 0
    For Each ctl In Me.Controls
        If TypeName(ctl) = "TextBox" Then
            M((i Mod 5) + 1, (i \ 5) + 1) = CInt(ctl.Text)
            i = i + 1
        End If
    Next
End Sub
До присвоеных имен TextBox'ов макросу нет дела. На форме не должно быть других TextBox кроме 25-и штук под массив, иначе надо вводить ещё ограничения.
0
29.04.2011, 16:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2011, 16:08
Помогаю со студенческими работами здесь

Заполнение формы Excel данными из таблицы
1. Таблица учет заполняется данными из таблицы "Данные" 2. Количество сотрудников может быть до...

Заполнение шаблона Excel из формы Access
C заполнением word частично я разобрался. Частично потому, что нужно заполнять слоожную таблицу в...

Заполнение двумерного массива данными из Excel
Необходимо импортировать данные из файла Excel и заполнить ими двумерный массив. Подскажите,...

Экспорт массива из подчиненной формы MS Access в MS Excel
Здравствуйте! У меня, возможно для многих примитивный вопрос, но проштудировав все темы на форуме с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru