======[VBA] [Excel] kleinsteNichtVorhandeneZahl()======
Schreibst eine kleine VBA-Funktion und wendest die nachher an.
Dazu im Workbook im VB-Editor ein Modul anhängen und die folgende Funktion einfügen
Public Function kleinsteNichtVorhandeneZahl(myRange As range) As Integer
Dim MyValues As Object
Dim myValue As Variant
Dim tempValue As Integer
On Error GoTo Err_Handler
Set MyValues = CreateObject("System.collections.arraylist")
' Alle Inhalte in ein Array Schreiben.
For Each myValue In myRange.Value
If IsNumeric(myValue) And Not IsEmpty(myValue) Then
If MyValues.Contains(myValue) = False Then
MyValues.Add CInt(myValue)
End If
End If
Next myValue
'ArrayList sortieren
MyValues.Sort
'alle Einträge durchgehen und prüfen ob sie den vorhergehenden Eintrag+1 sind
For Each myValue In MyValues
tempValue = tempValue + 1
If Not CInt(myValue) = tempValue Then Exit For
Next myValue
kleinsteNichtVorhandeneZahl = tempValue
Exit_Handler:
On Error Resume Next
Set objArrLst = Nothing
Exit Function
Err_Handler:
MsgBox Err.Description
GoSub Exit_Handler
End Function
Anschliessend in eine beliebige Zelle die Funktion rechnen lassen
Code:
=kleinsteNichtVorhandeneZahl(A1:B6)
Die Funktion funktioniert auch über ein mehrspaltigen Bereich
{{tag>VBA MS_Excel}}