So wie ich es bekam eine VBA function.This Funktion ein Wörterbuch ist die Definition verwendet, so ist es th Bezugnahme auf in den 'Microsoft Scripting Runtime' (schauen here) notwendig ist. Außerdem habe ich eine Funktion zu sortieren die Zeichen in Zeichenfolge von here
Function Repetitions(rng As Range)
Dim dict As New Scripting.Dictionary
Dim res() As Integer
For aux = 1 To rng.Count
Dim numero As Integer
numero = rng.Cells(1, aux).Value
If Not dict.Exists(numero) Then
dict.Add numero, 1
Else
dict(numero) = dict(numero) + 1
End If
Next aux
Dim result As String
result = ""
For aux = 0 To UBound(dict.Items)
If dict.Items(aux) > 1 Then result = result & dict.Items(aux)
Next aux
While Len(result)
iTemp = 1
Temp = Left(result, 1)
For I = 2 To Len(result)
If StrComp(Mid(result, I, 1), Temp, vbTextCompare) = 0 Then
If StrComp(Mid(result, I, 1), Temp, vbBinaryCompare) = 1 Then
Temp = Mid(result, I, 1)
iTemp = I
End If
End If
If StrComp(Mid(result, I, 1), Temp, vbTextCompare) = 1 Then
Temp = Mid(result, I, 1)
iTemp = I
End If
Next I
Repetitions = Repetitions & Temp
result = Left(result, iTemp - 1) & _
Mid(result, iTemp + 1)
Wend
End Function
Schließlich verwendet, können Sie die Funktion als Formel in Excel verwenden, ist es wie folgt zum Beispiel Aufruf:
=Repetitions(A2:F2)
Ich kann Ihnen das Muster mit Formeln, '22122111',' 33322111' und '44411411' holen. Aber ich denke, du wirst vba brauchen, um die Antwort zu bekommen, die du suchst. –
Meine erste Wahl wäre eine Formel, wenn möglich. aber mir geht es auch mit einer vba-lösung. – Max
Wenn die Anzahl der Male, die eine Zahl wiederholen kann, behoben ist, können Sie dort eine superlange Formel erhalten. –