ich habe ein schönes VBA-Makro, was mir hilft Sporenmessungen aus einer CSV-Datei zu sortieren und zu berechnen und so weiter.
Leider wird ein Wert den ich am Ende auslesen möchte automatisch gerundet (z.B. ein Wert 34,0 dann auf 34). Ich möchte aber 34,0 in meinem Text stehen haben und nicht 34!
Wie kann ich Excel-VBA beibringen, dass der String, denn ich in den Endtext einfüge im Numberformat 0.0 eingefügt wird (auch nach Rundung)
Ich versuche mal verkürzt darzustellen, wie das Makro derzeit arbeitet. Vielleicht könnt ihr mir dann einen Hinweis geben, was ich ändern muss.
Derzeit werden z.B. auf der Grundlage von Rohdaten Längen, Breiten, Mittelwerte und Quotienten von Pilzsporen berechnet und in einer Textzeile ausgegeben.
Zu diesem Zweck habe ich in VBA verschiedene Strings definiert, z.B. für die kürzeste Pilzspore den String "minlaenge". Dieser sucht aus der Spalte der Längenmessung mehrerer Sporen dann die kürzeste Länge heraus und überträgt diese in eine Textzeile an eine bestimmte Stelle. Ergebnis sieht dann so aus:
34-40,6 µm (av. 37,9 µm, SD 2,8 µm) x 11,9-13,9 µm (av. 12,6 µm, SD 1 µm); Q = 2,4-3,4 (av. 3, SD 0,4)(n = 3)
Die 34 habe ich jetzt mal fettgedruckt, das ist meine "minlaenge" die folgendermaßen ermittelt wird
Dim rng1 As Range
Set rng1 = ActiveSheet.Range(ActiveSheet.Cells(3, 2), ActiveSheet.Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Offset(-1, 0))
Dim minlaenge As String
minlaenge = Application.WorksheetFunction.Min(rng1)
Die "minlaenge" hat eigentlich in der Ursprungszelle das Nummernformat 0.0, in der ausgebenen Zeile wie man sieht aber leider NICHT mehr, da steht jetzt 34 statt 34,0Die gewünschte Textzeile erzeuge ich mit:
ActiveSheet.Range("a" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, 0) = minlaenge & "-" & maxlaenge & " µm (av. " & avlaenge & " µm, SD " & sdlaenge & " µm) x " & minbreite & "-" & maxbreite & " µm (av. " & avbreite & " µm, SD " & sdbreite & " µm); " & "Q = " & minquot & "-" & maxquot & " (av. " & avquot & ", SD " & sdquot & ")(n = " & n & ")"
Dort wird jetzt aber bei ,0 nur noch die Ganzzahl ausgegeben, was ich nicht möchte. Wie kann ich Excel-VBA beibringen, dass er mir auch in dieser Zeile z.B. die "minlaenge" als 34,0 und nicht als 34 ausgibt?Ergebnis sollte also so aussehen:
34,0-40,6 µm (av. 37,9 µm, SD 2,8 µm) x 11,9-13,9 µm (av. 12,6 µm, SD 1 µm); Q = 2,4-3,4 (av. 3, SD 0,4)(n = 3)
Ich hoffe, ich konnte mich verständlich machen. Ist vermutlich für einen Profi schnell zu lösen. Für mich leider nicht. Ich danke euch herzlich für entsprechende Hinweise.
LG Sebastian