Hallo Chris,
eigentlich ganz einfach. Um Schreibarbeit zu sparen, habe ich die Formatierung in das Unterprogramm "Umformung" gesteckt, da sie für beide Werte ausgeführt werden soll:
Sub Umformung(b, i, j)
a = Worksheets("Wertetabelle_Stützstellen").Cells(i, j).Value
b = Trim(Str(a))
If a > 0 And a -1 And a 0 then ZeilenInhalt=Left(ZeilenInhalt,a-1)+"."+mid(ZeilenInhalt,a+1)
ZeilenInhalt2 = Trim(Str(Worksheets("Wertetabelle_Stützstellen").Cells(i, 2).Value))
a=InStr(ZeilenInhalt2,",")
if a<>0 then ZeilenInhalt2=Left(ZeilenInhalt2,a-1)+"."+mid(ZeilenInhalt2,a+1)
ZeilenInhalt=ZeilenInhalt+ZeilenInhalt2
...
Viel Erfolg.
Holger
Chris schrieb am 11.12.2007 16:03:36:
Hallo, ich habe folgendes VBA-Modul geschrieben, das mit einem Command-Button gestartet wird:
Es werden die Werte aus einer Exeltabelle (Zellen A und B) ausgelsen und in eine Textadatei mit Namen Messung.txt gespeichert.
Mein Problem besteht nun darin, dass die Werte, die z.B. 7,3 lauten in der Textdatei als 7.1 gespeichert werden müssten, d.h. sämtliche Kommas müssten durch einen Punkt ersetzt werden. Kann mir jemand dabei helfen? Wäre echt super!
Public Function MessungSpeichern(FileSavePath As Variant) As Variant
Dim ZeilenInhalt As String
Dim i, MZAnz As Long
MZAnz = MaxZAnzahl("Wertetabelle_Stützstellen") - 1
Open FileSavePath For Output As #1 'Datei im Schreibzugriff öffnen
For i = 2 To MZAnz
ZeilenInhalt = ""
ZeilenInhalt = CStr(Worksheets("Wertetabelle_Stützstellen").Cells(i, 1).Value)
ZeilenInhalt = ZeilenInhalt & " " & CStr(Worksheets("Wertetabelle_Stützstellen").Cells(i, 2).Value)
Print #1, ZeilenInhalt 'Text in Datei schreiben
Next i
Close #1 'Datei schließen
End Function
'Maximale Zeilenanzahl der Messwerte ermitteln
Public Function MaxZAnzahl(BlattName As String) As Integer
MaxZAnzahl = 1
Do While (Worksheets(BlattName).Cells(MaxZAnzahl, 1) <> "")
MaxZAnzahl = MaxZAnzahl + 1
Loop
End Function
Vielen Dank schon einmal von Chris
|