Идентификационный номер автоматического заполнения пользовательской формы и вычитание слова infront - PullRequest
0 голосов
/ 26 июня 2018

Я создал простую пользовательскую форму для ввода новых сведений об оборудовании в список инструментов в электронной таблице, форма отлично работает, за исключением одной мелочи - нового идентификатора инструмента.

По сути, для этого мне нужносделать это, как только форма открыта / вызвана, необходимо создать новый идентификатор инструмента, который может быть и числовым набором 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
...