我有一个简单的工作表布局,像这样。 Range(A2:A7)
是我需要在Range(F1:K8)
中找到的工作技能,E1:E8
是F:K列之间的每一行的工作,我需要找到{{ 1}}。如果每个作业行具有2个或更多匹配技能,则将它们放在C列的开头,并为每个新的匹配作业+1。
我有一个粗略的脚本,需要帮助。
A2:A7
我试图注释掉每个变量在做什么。
我在此行上遇到 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
我不知道为什么,因为我需要检查F1,G2,H2等。如何解决此问题?