Добрый день. Не могли бы помочь с созданием аналога стандартной формы Екселя для редактирования и удаления строчек из таблицы? Пробовал различные примеры из сети, но на основе них так и не смог сделать нужную мне форму. Элемент ListBox добавлен для проверки, но основная цель вывод данных на TextBox. [vba]
Код
Sub Stripping()
Me.TextBox1 = ""
CommandButtonArrange.Enabled = True
End Sub
Private Sub CommandButtonArrange_Click()
Dim iLastRow As Long Dim iFoundRng As Range Dim iBazaSht As Worksheet Dim iResponse As Byte
If Me.TextBox1 = "" Then MsgBox "Заполни недостающие поля", vbExclamation, "Заполнены не все поля" Exit Sub End If
Set iBazaSht = ThisWorkbook.Sheets("Лист1") 'имя листа, куда будем вносить информацию Set iFoundRng = iBazaSht.Columns(2).Find(what:=Me.TextBox1.Text, LookAt:=xlWhole) 'ячейка целиком
' MsgBox "Информация добавлена в базу!", vbInformation, "База"
End Sub
Private Sub CommandButtonChange_Click()
If IsEmpty(ThisWorkbook.Sheets("Лист1").Range("A3")) = True Then MsgBox "Нет записей для изменений" Else ComboBoxRecordNumber.Enabled = True ComboBoxRecordNumber.Locked = False ComboBoxRecordNumber.BackColor = &H80000005
r = Cells(Rows.Count, "a").End(xlUp).Row 'Последняя непустая ячейка в столбце "a"
' Me.ComboBoxRecordNumber.RowSource = "Отчёт!a3:a" & r
With Sheets("Лист1") Me.ComboBoxRecordNumber.List = .Range("A3", .Cells(Rows.Count, "A").End(xlUp)).Value End With
r = Cells(Rows.Count, "a").End(xlUp).Row 'Последняя непустая ячейка в столбце "d" For i = 3 To r If Cells(i, "a") = ComboBoxRecordNumber.Value Then ListBox1.AddItem Cells(i, "b") Next End If
End Sub
Private Sub ComboBoxRecordNumber_Change()
r = Cells(Rows.Count, "a").End(xlUp).Row 'Последняя непустая ячейка в столбце "d" For i = 3 To r If Cells(i, "a") = ComboBoxRecordNumber.Value Then ListBox1.AddItem Cells(i, "b")
' For i = 3 To 15 ' If Sheets("Отчёт").Cells(i, "a") = ComboBoxRecordNumber.Value Then Me.Date1.Text = Cells(i, "b") ' Date1.AddItem Cells(i, "b") ' Me.TextBoxNameDO.Value = Cells(i, "f") ' Me.TextBoxPlayground.Value = Cells(i, "g") Next
End Sub
Private Sub CommandButtonDel_Click()
End Sub
Private Sub CommandButton1_Click()
End Sub
Private Sub UserForm_Initialize()
End Sub
[/vba]
Добрый день. Не могли бы помочь с созданием аналога стандартной формы Екселя для редактирования и удаления строчек из таблицы? Пробовал различные примеры из сети, но на основе них так и не смог сделать нужную мне форму. Элемент ListBox добавлен для проверки, но основная цель вывод данных на TextBox. [vba]
Код
Sub Stripping()
Me.TextBox1 = ""
CommandButtonArrange.Enabled = True
End Sub
Private Sub CommandButtonArrange_Click()
Dim iLastRow As Long Dim iFoundRng As Range Dim iBazaSht As Worksheet Dim iResponse As Byte
If Me.TextBox1 = "" Then MsgBox "Заполни недостающие поля", vbExclamation, "Заполнены не все поля" Exit Sub End If
Set iBazaSht = ThisWorkbook.Sheets("Лист1") 'имя листа, куда будем вносить информацию Set iFoundRng = iBazaSht.Columns(2).Find(what:=Me.TextBox1.Text, LookAt:=xlWhole) 'ячейка целиком
' MsgBox "Информация добавлена в базу!", vbInformation, "База"
End Sub
Private Sub CommandButtonChange_Click()
If IsEmpty(ThisWorkbook.Sheets("Лист1").Range("A3")) = True Then MsgBox "Нет записей для изменений" Else ComboBoxRecordNumber.Enabled = True ComboBoxRecordNumber.Locked = False ComboBoxRecordNumber.BackColor = &H80000005
r = Cells(Rows.Count, "a").End(xlUp).Row 'Последняя непустая ячейка в столбце "a"
' Me.ComboBoxRecordNumber.RowSource = "Отчёт!a3:a" & r
With Sheets("Лист1") Me.ComboBoxRecordNumber.List = .Range("A3", .Cells(Rows.Count, "A").End(xlUp)).Value End With
r = Cells(Rows.Count, "a").End(xlUp).Row 'Последняя непустая ячейка в столбце "d" For i = 3 To r If Cells(i, "a") = ComboBoxRecordNumber.Value Then ListBox1.AddItem Cells(i, "b") Next End If
End Sub
Private Sub ComboBoxRecordNumber_Change()
r = Cells(Rows.Count, "a").End(xlUp).Row 'Последняя непустая ячейка в столбце "d" For i = 3 To r If Cells(i, "a") = ComboBoxRecordNumber.Value Then ListBox1.AddItem Cells(i, "b")
' For i = 3 To 15 ' If Sheets("Отчёт").Cells(i, "a") = ComboBoxRecordNumber.Value Then Me.Date1.Text = Cells(i, "b") ' Date1.AddItem Cells(i, "b") ' Me.TextBoxNameDO.Value = Cells(i, "f") ' Me.TextBoxPlayground.Value = Cells(i, "g") Next