Я создал простую пользовательскую форму для ввода новых сведений об оборудовании в список инструментов в электронной таблице, форма отлично работает, за исключением одной мелочи - нового идентификатора инструмента.
По сути, для этого мне нужносделать это, как только форма открыта / вызвана, необходимо создать новый идентификатор инструмента, который может быть и числовым набором Alfa, таким как AA-01234, AA-01235, AA-01236 и т. д.
Также естьесть способ публикации недавно добавленного идентификатора инструмента в MsgBox вместе с MsgBox "Одна запись добавлена в список клиентов. Новый идентификатор клиента"
Все мои попытки создать это проваливаются и вызывают ошибки, которые я действительноне могу понять, так как я новичок в VBA и никогда не использовал его до сих пор.
Вот мой код, идентификатор клиента - TextBox1.
Заранее спасибо [! [введите описание изображения здесь][1]] [1] Вот код, который работает для меня, но он не вычитает слово.
Private Sub CommandButton1_Click()
If Application.WorksheetFunction.CountIf(Range("A:A"), Me.TextBox1) > 0 Then
If MsgBox("Tool Name Already Exists.Do you want to continue?", vbQuestion + vbYesNo) <> vbYes Then
Exit Sub
End If
End If
If TextBox1.Value = "" Or TextBox2.Value = "" Or TextBox4.Value = "" Or TextBox5.Value = "" Or TextBox6.Value = "" Then
If MsgBox("Form is not complete. Do you want to continue?", vbQuestion + vbYesNo) <> vbYes Then
Exit Sub
End If
End If
Dim ssheet As Worksheet
Set ssheet = ThisWorkbook.Sheets("2018")
nr = ssheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ssheet.Cells(nr, 1) = TextBox1.Value
ssheet.Cells(nr, 2) = TextBox2.Value
ssheet.Cells(nr, 3) = TextBox3.Value
ssheet.Cells(nr, 4) = TextBox4.Value
ssheet.Cells(nr, 5) = TextBox5.Value
ssheet.Cells(nr, 6) = TextBox6.Value
ssheet.Cells(nr, 7) = TextBox7.Value
Call resetForm
End Sub
Sub resetForm()
TextBox1.Value = ""
TextBox2.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
Data_Entry.TextBox1.SetFocus
End Sub
Private Sub CommandButton2_Click()
TextBox1.Value = ""
TextBox2.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
Data_Entry.TextBox1.SetFocus
End Sub
Private Sub UserForm_Initialize()
Me.TextBox1 = Application.WorksheetFunction.Max(Range("A:A")) + 1
Me.TextBox3 = Date
End Sub
Private Sub UserForm_Initialize()
Me.TextBox1 = Application.WorksheetFunction.Max(Range("A:A")) + 1
Me.TextBox3 = Date
End Sub
[1]: https://i.stack.imgur.com/yQABC.jpg