У меня есть код, который сопоставляет 3 или более рабочих навыков с огромным набором данных и выделяет рабочие места в других областях компании, где эти навыки могут передаваться.Код работает феноменально, но я хотел бы включить пользовательские поля ввода для двух строк кода.
Set rSkills = Range("A2:A7")
Я бы хотел, чтобы пользователь выбрал диапазон в столбце A от строки 2 до последнего введенного навыка задания.
If i >= 3 Then
Я также хочу, чтобы в поле ввода отображалось, и пользователь должен указать, сколько рабочих навыков они хотят соответствовать каждой работе.Если им нужен только 1, я бы хотел, чтобы в поле ввода можно было вводить 1 или больше, если это необходимо.
Как этого достичь?Вот весь мой код:
Sub FindSkills()
Dim c As Range
Dim r As Range
Dim row As Integer
Dim i As Integer
Dim rSkills As Range
Dim cSkills As Range
Dim JobCodeMatch As Integer
Dim JobTitleMatch As Integer
Dim CLevelMatch As Integer
Dim JobCode As String
Dim JobTitle As String
Dim CareerLevel As String
row = 2
JobCodeMatch = 2
JobTitleMatch = 2
CLevelMatch = 2
'Application.ScreenUpdating = False
Set rSkills = Range("A2:A7")
Do While row < 2400
i = 0 'reset
JobCode = Cells(row, 6).Value
JobTitle = Cells(row, 7).Value
CareerLevel = Cells(row, 14).Value
Set r = Range(Cells(row, 6), Cells(row, 336))
For Each c In r
For Each cSkills In rSkills
If c.Value = cSkills.Value Then i = i + 1
Next cSkills
Next c
If i >= 2 Then
Cells(JobCodeMatch, 3) = JobCode 'Column C
Cells(JobTitleMatch, 4) = JobTitle 'Column D
Cells(CLevelMatch, 5) = CareerLevel
JobCodeMatch = JobCodeMatch + 1
JobTitleMatch = JobTitleMatch + 1
CLevelMatch = CLevelMatch + 1
End If
row = row + 1
Loop
'Application.ScreenUpdating = True
End Sub