Недавно я начал писать код для проекта в Excel VBA. У меня очень мало знаний о кодировании, и я надеялся, что кто-нибудь сможет мне помочь. У меня есть проект, в котором мне нужно сгенерировать буквенно-цифровые c серийные номера на основе входных данных в UserForm. Однако я не могу этого сделать.
Входные данные в пользовательской форме включают страну и имя клиента, которые потребуются для генерации серийного номера. (Например, страна - США, имя клиента - AB C, поэтому мой серийный номер должен быть USABC001). Последующие записи с той же страной и именем клиента должны создаваться как USABC002 и так далее. Если есть новая запись, нумерация должна начинаться с 001. (например, страна - Австралия, имя клиента - BCD, серийный номер = AUSBCD001).
Я надеюсь, что кто-то сможет помочь и увеличить мой VBA знания тоже. Спасибо.
Это код, который я пробовал, но он не работает.
Sub FindCustomerID()
Dim lastrow
Dim lastnum As Long
Dim ws As Worksheet
Set ws = Worksheets("Customer Data")
If Me.cboCountry = "" Or Me.txtCustomerName = "" Then
Exit Sub
End If
c = 1
lastrow = ws.Cells(Rows.count, 1).End(xlUp).Row
For currentrow = 2 To lastrow
If CustomerID = Cells(currentrow, 1) Then
'find last number that applies
c = c + 1
End If
Next currentrow
a = Left(Me.cboCountry, 3)
b = Left(Me.txtCustomerName, 10)
CustomerID = UCase(a & b & c)
Me.lblCustomerID = CustomerID
End Sub