Как я могу структурировать этот скрипт массива счетчиков значений? - PullRequest
0 голосов
/ 21 марта 2019

У меня есть простой макет листа, как это. Range(A2:A7) - это рабочие навыки, которые мне нужно найти в Range(F1:K8), E1:E8 - это рабочие места в каждом ряду между столбцами F: K, в которых мне нужно найти 2 или более навыков, перечисленных в A2:A7. Если в каждой строке задания имеется 2 или более соответствующих навыка, поместите их, начиная с колонки C и +1, для каждого нового соответствующего задания.

У меня есть черновой сценарий, с которым мне нужна помощь.

    Sub Competency_Finder()

Dim varArray As Variant 'varArray = F1:K8
Dim varArrayRow As Long, varArrayCol As Long 'rows and columns of varArray
Dim Skills_Needed As Variant, Dest As Range 'Col A list, first cell for first matching job
Dim i As Long 'Col A counter
Dim NumSkillsMatched As Integer, NextJobToAdd As Integer ' how many times skills matched in jobs row, next job to add to column C
Dim varJobsArray As Variant, varSkillTested As Variant

With ThisWorkbook.Sheets("Sheet1")
    varArray = .Range("K1", .Range("F" & Rows.Count).End(xlUp))
End With

NumSkillsMatched = 0
NextJobToAdd = 0

For varArrayCol = 1 To UBound(varArray, 2)
    For varArrayRow = 1 To UBound(varArray)
        For varSkillTested = 1 To UBound(varArray)
            If varArrayCol = Skills_Needed(i, 1) Then
                NumSkillsMatched = NumSkillsMatched + 1
            End If
        Next
        If NumSkillsMatched >= 2 Then
            varJobsArray(NextJobToAdd).Value = NextJobToAdd
            NextJobToAdd = NextJobToAdd + 1
        End If
        NumSkillsMatched = 0
    Next
Next

End Sub

Я пытался закомментировать, что делает каждая переменная.

В этой строке появляется ошибка Type Mismatch: If varArrayCol = Skills_Needed(i, 1) Then Я не знаю почему, потому что мне нужно проверить F1, G2, H2 и т. Д. ... Как это исправить? DataSet

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...