Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VBA/Excel : speichern von Komma/Puntk in *.prn-Datei ??!?!

Empfohlene Antworten

Veröffentlicht

Hallo,

habe ich da mal wieder ne "Innovation" (=Bug) von Microsoft entdeckt oder was ?!?

Nunja, mal von vorne, folgendes Problem mit EXCEL 97 :

Die Zellen der Tabelle sind als "Zahl mit 2 Dezimalstellen" definiert.

Sieht dann ungefähr so aus :

A B

1 23,00 123,23

2 23,45 34,23

3 12,12 124,44

Nun sollen die Inhalte gespeichert werden im *.prn-Format. Dazu wähle ich "Datei speichern unter..."

und dann das *.prn-Format. Die Datei wird gespeichert und in der Datei steht dann

so wie es sein sollte :

23,00 123,23

23,45 34,23

12,12 124,44

Da das ganze regelmäßig erfolgen soll, habe ich parallel zum Speichervorgang ein Makro aufgezeichnet.

Führe ich nun aber das Makro aus, erstellt Excel mir zwar auch eine *.prn-Datei, aber so :

23.00 123.23

23.45 34.23

12.12 124.44

Auf den ersten Blick sieht das ziemlich gleich aus, aber mit dem Makro wird ein PUNKT als

Dezimalzeichen geschrieben und nicht wie benötigt ein KOMMA ?!?!?!

Wie kann das sein, daß da plötzlich nen anderes Zeichen eingesetzt wird, wenn man den Vorgang

automatisiert ablaufen läßt ??! Ich finde das ziemlich widersinnig !

Bislang sind alle Versuche gescheitert, das ganze, mit KOMMA abzuspeichern, in VBA zu realisieren ?!?!

Weiß jemand Rat wie ich doch noch ne Datei mit KOMMATA und Leerzeichen als Trennzeichen (ähnlich

dem *.prn-Format, jedes andere wäre mir aber auch recht, hauptsache sieht so aus wie oben erwähnt !)

abgespeichert bekomme ???

Hoffe mal, jemand wird schlau aus meiner Ausführung und kann mir da nen Tipp geben !?!

P.S. Die Ländereinstellungen benutzen auf jeden Fall auch das Komma als Dezimalzeichen....

Gruß Flori

Speicher die Datei doch als txt und benenn sie nachher um...

Hi,

musst (soweit ich das überblicken kann) eigentlich net die ExportFunktion verwenden.

Kannste ja auch selbst exportieren, dann kannste dein Format wählen wie du's willst.

(Komma, Punkt, LeerZeichen, Slash, ... was du willst)

hab mal was zusammen geknaupt :)


Sub SaveInFile()

Dim Zeile As String

Dim DateiName As String

DateiName = "C:\temp\PrmTest.txt"


erg = Dir(DateiName)


    If erg <> "" Then

      If MsgBox("Die Datei """ & DateiName & """ existiert bereits!" & vbCrLf & "Löschen?", vbQuestion Or vbYesNo, "Löschen?") = vbYes Then

        Kill DateiName

      Else

         MsgBox "Die Daten werden an die bereits bestehende """ & DateiName & """ angehongen!", vbInformation, "Anhängen"

      End If

    End If




    For i = 1 To Tabelle1.UsedRange.Rows.Count

            Zeile = Tabelle1.Range("A" & i) & " " & Tabelle1.Range("B" & i)

            Open DateiName For Append As #1

                    Seek #1, LOF(1) + 1

                    Print #1, Zeile

            Close #1

    Next i

End Sub

Hier darauf achten, dass dein Tabellenblatt auch "Tabelle1" heisst. Ausserdem werden hier nur Spalte A und B geprüft, ist aber beliebig veränderbar.

Die Variabel DateiName sollte auch eingestellt werden.

(Könnte man über ne InputBox machen)

MfG

KarlBerg

  • Autor

Jo danke an alle Helfer !:)

Hab das Problem gelöst und die Datei nun tatsächlich selbst erstellt via open und print und close und allem was so dazu gehört.

So konnte ich auch genau managen wieviele Leerzeichen an welcher Stelle eingefügt werden sollen. Die Formatierung der Datei ist nämlich ziemlich wichtig für das Prog, was die Datei anschließend mal importieren soll.....

...aber das alles noch zu erklären, würde den Rahmen hier sprengen....:D

Also nochmal Danke für die Ideen,

Gruß Flori

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.