Страницы: 1
RSS
Внести данные из формы в умную таблицу
 
Доброго времени суток Форумчане! Прошу Вашей Помощи, что-то вечером голова не соображает. Дана таблица, есть форма ввода через которую вношу данные. На форме 1 комбобокс, 1 текстбокс и кнопка ввода. При выборе значения в комбобоксе и данных в текстбоксе необходимо внести данные в таблицу. Всё вроде-бы Гуд, ничего сложного. Да, данные вносятся но не в тот столбец.
Скрытый текст

Через костыль получается внести данные
Код
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Set ws1 = Sheet1
    Set tbl = ws1.ListObjects("Table1")
    Set NewRow = tbl.ListRows.Add

    With NewRow.Range

        Set RngCol = tbl.HeaderRowRange.Find(Me.ComboBox1.Value, , LookIn:=xlValues, LookAt:=xlWhole)

        If Not RngCol Is Nothing Then
            .Columns(RngCol + 1) = Me.TextBox1
        Else
            .Columns(RngCol + 1) = ""
        End If

    End With

    Application.ScreenUpdating = True
    Unload Me
    MsgBox "Данные введены, Удачи!"
End Sub

Ну это же не правильно. Может кто знает правильное решение? Подправьте код Пожалуйста.
Спасибо за то что не прошли мимо! Здоровья!
 
А вы в какую строку вводите данные? В которую создали? Попробуйте так
Код
NewRow.Range.Cells(1, Me.ComboBox1.ListIndex + 1).Value = Me.TextBox1.Text
 
New, Оказалось даже проще. Спасибо Вам! В очередной раз вы мне помогли. Здоровья Вам и Вашей Семье. :)

P.S. Подскажите а что означает: Cells(1, ?
Изменено: MikeVol - 24.11.2021 22:02:01
 
Спасибо.
У Cells 2 аргумента, 1-й номер строки, 2-й номер столбца - Cells (номер строки, номер столбца).
Объект NewRow - это добавленная новая строка, у неё кол-во строк всего 1, т.е. 1 у Cells - это и есть добавленная строка.

Можно ещё так заносить данные
Код
Sub test()
    Dim tbl As ListObject
    Set tbl = ActiveSheet.ListObjects("Table1")
    'Column1 - название столбца в таблице
    tbl.ListColumns("Column1").DataBodyRange.Rows(2).Value = 5 '2 - это вторая ячейка ниже шапки
End Sub
Изменено: New - 24.11.2021 22:24:58
 
New, Про это я знаю. Меня интересует как при выборе значения из комбобокса (выбор столбца шапки) внести данные из текстбокса в новую строку таблицы и  в нужный мне столбец.
Страницы: 1
Наверх