von Toxitom » Mi, 16.08.2006 19:29
Hey Falkan,
Geht das schöner?
Nein, nicht in deiner Konstellation. Eine Zelle kann 4 Inahltstypen aufnehmen: Texte (Strings), Werte (Zahlen, Datum- und Zeitwerte), Formeln und - eben nichts. Das "Nichts" wird intern als eigener Zustand verwaltet, als "leere" Zelle sozusagen.
Mit dem Zellbezug =A1 wird nun der interne Interpreter angewiesen, den Inhalt auszulesen und entsprechend aufzubereiten. Das "Nichts" ist eben auch ein Zustand. Im Makro selbst fragst du den Textzustand ab (a as string) - und der ist eben "0" - als Ergebnis der leeren Zelle.
Entweder fängst du das Ergebnis im Makro selbst ab oder eben so, wie du das gemacht hast. Wahrscheinlich wäre die Makrolösung bequemer.
Code: Alles auswählen
function zusammen( a as string, b as string ) as string
if a = "0" then a = ""
if b = "0" then b = ""
zusammen = a & b
end function
Gruss
Thomas
Hey Falkan,
[quote]Geht das schöner? [/quote]
Nein, nicht in deiner Konstellation. Eine Zelle kann 4 Inahltstypen aufnehmen: Texte (Strings), Werte (Zahlen, Datum- und Zeitwerte), Formeln und - eben nichts. Das "Nichts" wird intern als eigener Zustand verwaltet, als "leere" Zelle sozusagen.
Mit dem Zellbezug =A1 wird nun der interne Interpreter angewiesen, den Inhalt auszulesen und entsprechend aufzubereiten. Das "Nichts" ist eben auch ein Zustand. Im Makro selbst fragst du den Textzustand ab (a as string) - und der ist eben "0" - als Ergebnis der leeren Zelle.
Entweder fängst du das Ergebnis im Makro selbst ab oder eben so, wie du das gemacht hast. Wahrscheinlich wäre die Makrolösung bequemer.
[code]function zusammen( a as string, b as string ) as string
if a = "0" then a = ""
if b = "0" then b = ""
zusammen = a & b
end function[/code]
Gruss
Thomas