Zählfunktion in VBA ???
21.04.2004 09:06:08
Ben
ich brauche eine Zähl-Funktion, die mir für die folgenden Argumente die folgenden Werte liefert:
Für "abc" gibt die Funktion einen Leerstring
Für "ab1" gibt die Funktion "ab2"
Für "a12" gibt die Funktion "a13"
Für "123" gibt die Funktion "124"
Für einen Leerstring gibt die Funktion einen Leerstring
Die Funktion zählt also die numerischen Anteile des Arguments nach oben. Gibt es keine numerischen Anteile (z. B. bei "dfg" oder beim Leerstring als Argument), wird ein Leerstring zurückgegeben.
So, und wie programmiere ich jetzt diese Funktion in VBA?
Ich habe folgenden Versuch gemacht:
Function zaehlen(argument)
' Prüft, ob das Argument ein Leerstring ist:
If VarType(argument) > 1 Then
' Prüft, ob das Argument nur aus Zahlen besteht:
If VarType(argument + 1) = 10 Then
' Prüft, ob die letzten beiden Stellen des Arguments Zahlen sind:
If VarType(Right(argument, 2) + 1) = 10 Then
' Prüft, ob die letzte Stelle des Arguments eine Zahl ist:
If VarType(Right(argument, 1) + 1) = 10 Then
' Falls nein, wird ein Leerstring zurückgegeben:
zaehlen = ""
Else
' Falls nur die letzte Stelle des Arguments eine Zahl ist, _
wird diese hochgezählt:
zaehlen = Right(argument, 1) + 1
End If
Else
' Falls nur die letzten beiden Stellen des Arguments Zahlen sind, _
werden diese hochgezählt:
zaehlen = Right(argument, 2) + 1
End If
Else
' Falls alle drei Stellen des Arguments Zahlen sind, werden diese hochgezählt:
zaehlen = argument + 1
End If
Else
' Falls das Argument ein Leerstring ist, wird ein Leerstring zurückgegeben:
zaehlen = ""
End Function
Wenn ich nun diese Funktion ausprobiere, bekomme ich eine Fehlermeldung. Also funkioniert sie nicht.
Aber wie kann ich die gewünschte Zählfunktion dann programmieren?
Für Hinweise hierzu wäre ich Euch sehr dankbar!
Viele Grüße, Ben.