1の合計が重要な場合は、次のようにすることができます。
For Each rw in Sheets("Sheet1").UsedRange.Rows
Select Case Application.Sum(rw.Columns("L:V"))
Case 0
rs.Cells(1,26) = "Beginner"
Case 1
rs.Cells(1,26) = "Learner"
Case 11
rs.Cells(1,26) = "Expert"
End Select
Next rw
特定の場所の1が重要な場合、このコードは機能します。
Sub FillZ()
Dim wRange As Range
Dim resultArray As Variant
Dim i As Integer
Set wRange = Sheets("Sheet1").Range("A1:Z" & Range("A65536").End(xlUp).Row)
resultArray = SpecialConcatenate(workingRange)
For i = 1 To wRange.Rows.Count
Select Case resultArray(i)
Case "00000000000"
wRange(i, 26) = "Beginner"
Case "10000000000"
wRange(i, 26) = "Learner"
Case "11111111111"
wRange(i, 26) = "Expert"
End Select
Next i
End Sub
Function SpecialConcatenate(wRange As Range) As Variant
Dim j As Integer, k As Integer
Dim resultArray() As Variant
ReDim resultArray(1 To wRange.Rows.Count)
For j = 1 To wRange.Rows.Count
resultArray(j) = ""
For k = 1 To 11
resultArray(j) = resultArray(j) & wRange.Cells(j, k + 11).Value
Next k
Next j
SpecialConcatenate = resultArray
End Function