Es funzt jetzt!
Hallo Klaus und specci48,
dank eurer Hilfe bin ich jetzt nach vielen Experimenten auf den Trichter gekommen. Anbei jetzt mein Beispiel, damit auch andere was davon haben.
Allerdings funktioniert es noch einfacher als von euch beschrieben:
1) @Klaus:
Die Convert Routine könnte auch in einem Modul sein, nur muss sie als Public gekennzeichnet werden.
Habe ich nicht gemacht -> es funzt trotzdem ...
2) @Klaus:
Und für den Aufruf muss dann der Modulname mit einem Punkt davor gesetzt werden Modul1.Convert.
Habe ich bei meinen Modulen nicht gemacht (nicht in diesem angehängten Beispiel) -> es funzt trotzdem ...
3) @specci48:
Das ist allerdings nur bei reinen Ausgabefeldern sinnvoll, da man anschliessend mit den konvertierten Feldern z.B. nicht mehr weiterrechnen kann.
Vielen Dank für diesen wichtigen Hinweis!
Wenn ich also einmal mit Zahlen rechnen muß, dann nehme ich nicht die "konvertierte" Zahl, sondern ich schreibe die echte Zahl in ein unsichtbares Feld und rechne von da aus weiter.
4) Noch eine Frage an Klaus:
In deinem Code steht unten 2 mal "Return"
Sub Convert(Zahl,Dezimalstellen)
Zahl=Format(Zahl,"N"&Dezimalstellen)
b=StrReplace(Zahl,".","!") ' ändert vorläufig die Punkte
b=StrReplace(b,",",".") ' tauscht Kommas in Punkte aus
b=StrReplace(b,"!",",") ' tauscht Punkte in Kommas aus
Return b
Return
Ich habe das letzte "Return" gelöscht, es funzt trotzdem. Für was ist das nützlich?
... und dann müßte da auch noch ein "End Sub" dran, oder?
Vielleicht mache ich ja einen Denkfehler und auch die "Public"-Verweise und "Global"-Angaben sind am Ende doch noch sehr wichtig?
Schaut euch doch bitte mal das kleine Beispiel nochmal an und sagt mir, ob ich auf dem Holzweg bin ...
Auf jeden Fall wollte ich mich nochmals bei euch beiden herzlich bedanken, denn ohne eure Hilfe wäre ich da nicht weitergekommen! :sign0188: