Calc: Summanden in Zelle zählen
Verfasst: So, 15.05.2011 19:34
Hallo Leute.
Ich bin dabei eine recht aufwändige MS-Excel-Tabelle in OpenOffice zu konvertieren.
Läuft soweit auch alles ganz gut bis auf, wie sollte es anders sein, ein Makro das ich verwende,
um die Anzahl der Summanden in einer Zelle auszulesen.
Ich habe also diverse Zellen in denen der user Werte im Format
=[wert1]+[wert2]+[wert3] ...
einträgt.
Das Makro 'anzahlsummanden' zählt die Summanden in einer Zelle und gibt die Anzahl aus,
mit der dann anderswo weiter gearbeitet wird. Hier der originale Code in VBA:
Nun habe ich schon eine ganze Weile im Basic-Editor rumgefummelt und diverse Hinweise im Netz verfolgt,
komme aber nicht zu einem funktionierenden Makro ... zum verzweifeln!
Kann mir jemand weiterhelfen?
Grüße
Enzol
Moderation,4: BASIC-Fragen im zuständigen Unterforum stellen; verschoben und Betreff angepasst; CODE anstelle QUOTE tags gesetzt
Ich bin dabei eine recht aufwändige MS-Excel-Tabelle in OpenOffice zu konvertieren.
Läuft soweit auch alles ganz gut bis auf, wie sollte es anders sein, ein Makro das ich verwende,
um die Anzahl der Summanden in einer Zelle auszulesen.
Ich habe also diverse Zellen in denen der user Werte im Format
=[wert1]+[wert2]+[wert3] ...
einträgt.
Das Makro 'anzahlsummanden' zählt die Summanden in einer Zelle und gibt die Anzahl aus,
mit der dann anderswo weiter gearbeitet wird. Hier der originale Code in VBA:
Code: Alles auswählen
Public Function anzahlSummanden(zelle As Range)
Dim formel As String
Dim zaehler As Integer
zaehler = 0
'wenn Formel vorhanden
If zelle.HasFormula Then
'Formel als Text holen
formel = zelle.Formula
'durch Text durchgehen und Anzahl der '+' zählen
Dim i As Integer
For i = 1 To Len(formel)
If Mid(formel, i, 1) <> "+" Then
zaehler = 1
End If
Next
For i = 1 To Len(formel)
If Mid(formel, i, 1) = "+" Then
zaehler = zaehler + 1
End If
Next
End If
'Ergebnisrückgabe
anzahlSummanden = zaehler
End Function
komme aber nicht zu einem funktionierenden Makro ... zum verzweifeln!
Kann mir jemand weiterhelfen?
Grüße
Enzol
Moderation,4: BASIC-Fragen im zuständigen Unterforum stellen; verschoben und Betreff angepasst; CODE anstelle QUOTE tags gesetzt