Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1800to1804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV Trennvorgabe "," auf ";" ändern

CSV Trennvorgabe "," auf ";" ändern
17.12.2020 10:48:37
Siegfried
Hallo alle Wissenden,
habe auf Office 365 umgestellt und stehe daher bei vielen Dingen voll daneben, da Menüaufbau und vieles mehr anders.
Ich müsste daten aus einer Tabelle als CSV exportieren benötige aber als Spaltentrennzeichen das ";" wo kann man das umstellen, sonst muss ich nachher immer mit dem Editor die CSV öffnen und Komma durch ";" ersetzen. Da auch manchmal Daten wie 2,9 usw. dabei sein können ist eine Änderung hier natürlich nicht erwünscht, daher die Suche wie kann ich das vorgegebene "," gegen ";" ersetzen.
Gruß Siegfried

29
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV Trennvorgabe "," auf ";" ändern
17.12.2020 10:53:06
Nepumuk
Hallo Siegfried,
ein Beispiel:
Call Tabelle1.SaveAs(Filename:="H:\Test.csv", FileFormat:=xlCSV, Local:=True)

Gruß
Nepumuk
AW: CSV Trennvorgabe "," auf ";" ändern
19.12.2020 13:50:16
Siegfried
Hallo Nepumuk,
also dein gemachter Vorschlag mit
„Call Tabelle1.SaveAs(Filename:="H:\Test.csv", FileFormat:=xlCSV, Local:=True)“
hat bis jetzt bei mir am besten funktioniert, es kam zwar auch einmal vor das als Trennzeichen ein Komma statt „;“verwendet wurde, Ursache dafür leider nicht gefunden.
Nur habe ich noch andere Probleme damit, und zwar, "Tabelle1.SaveAs" funktioniert bei mir nicht richtig, da mein Tabellenblatt zwar in der Reihung an dritter Stelle liegt (daher mit Tabelle3.SaveAs(Filename.. versucht) aber von der Tabellennummer her es die 7 hat, wie ich dann feststellte.
Müsste ich dann ein jedesmal nachsehen welche Tabellenblattnummer vergeben ist, dass kann es ja doch auch nicht sein.
Da dieses Tabellenblatt den Namen „Export“ hat könnte ich es ja mit Sheets(„Export“).nnnnn ansprechen nur mit SaveAs funktioniert mir das leider wieder nicht.
Wahrscheinlich muss man das anders schreiben, aber wie? Ich finde leider nicht die Lösung dazu.
Das nächste Problem, beim schrittweise Durchlaufen des Makros habe ich festgestellt das der CSV-File zwar mit dem gewünschten Namen erstellt wurde aber fast keine Inhalte hat, erst mit dem „ActiveWorkbook.Close“ wird er mit dem gewünschten Inhalt geschrieben, aber eben die Exceltabelle komplett geschlossen.
Mit welchem Befehl würde sie wieder im vorhergehenden Zustand geöffnet, fehlt mir leider der Plan dazu.
DANKE für weitere Hilfe, Gruß Siegfried
Anzeige
AW: CSV Trennvorgabe "," auf ";" ändern
19.12.2020 13:53:57
Nepumuk
Hallo Siegfried,
ich benutze grundsätzlich den Objektnamen der Tabellen. Den findest du im Projektexplorer vor dem in Klammern stehenden Namen auf der Exceloberfläche.
Gruß
Nepumuk
AW: CSV Trennvorgabe "," auf ";" ändern
19.12.2020 18:33:48
Siegfried
Hi Nepumuk,
ja wenn du mir nun noch auf die Sprünge helfen könntest wie man den Objektnamen ermittelt, wäre ich dir Dankbar. Mein Tabellenblatt "Export" ist an dritter Stelle gereiht hat aber den Objektnamen 7, wie ich im VBA-Projekt sehen kann, finde aber nicht den Weg dies abzufragen.
Mit ThisWorkbook.Worksheets(i).Name komme ich immer auf die drei, zur Durchführung von
Call Tabelle7.SaveAs(Filename:=ZielName, FileFormat:=xlCSV, Local:=True) muss ich aber die 7 verwenden, nur wie erfrage ich diese Tabelle7.
Ja und auf einige der gestellten Fragen wegen speichern und so hast du auch nicht geantwortet.
Gruß Siegfried
Anzeige
AW: CSV Trennvorgabe "," auf ";" ändern
19.12.2020 18:35:38
Nepumuk
Hallo Siegfried,
so:
ThisWorkbook.Worksheets(i).CodeName
Gruß
Nepumuk
AW: CSV Trennvorgabe "," auf ";" ändern
19.12.2020 20:22:52
Siegfried
Danke Nepumuk,
was habe ich gesucht und das leider nicht gefunden.
Nun wäre der Aufbau für die SaveAs OK, nur das speichern fux leider auch noch, was habe ich da wieder falsch?
Gruß Siegfried
Userbild
Userbild
AW: CSV Trennvorgabe "," auf ";" ändern
19.12.2020 20:30:09
Nepumuk
Hallo Siegfried,
keine Ahnung was für ein Makro du da aufrufen willst. Der Objektname der Export-Tabelle ist Tabelle7. Also:
Call Tabelle7.SaveAs ...
Gruß
Nepumuk
Anzeige
AW: CSV Trennvorgabe "," auf ";" ändern
19.12.2020 23:01:35
Siegfried
Ach Nepumuk,
schau in der Variablen „ExportName“ habe ich jetzt alles was ich zum Aufrufen von SaveAs benötige.
Nur das „Call ExportName“ will er so nicht beim Aufrufen, da bringt er die Fehlermeldung,
Fehler beim Kompilieren bzw. Sub, Function oder Property erwartet.
Kann leider nicht sagen, wie man das löst?
Gruß Siegfried
AW: CSV Trennvorgabe "," auf ";" ändern
20.12.2020 07:56:08
Hajo_Zi
Du bist im falschen Forum. Bildbearbeitung ist ein anderes.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Schau mal hier
Eine hochgeladene Arbeitsmappe erhöht die Wahrscheinlichkeit, dass Du eine Lösung für Dein Problem erhältst.
Erstelle folglich bitte eine Demomappe, aus der deine Aufgabenstellung klar erkennbar ist und lade diese hoch.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten ändern. Schaue Datei
http://hajo-excel.de/gepackt/fremd/Datei_verschluesseln.zip
Falls Du den Download des Forums nicht benutzen möchtest beachte bitte: von unsicheren Servern file-upload lade ich keine Datei herunter (lt. Einschätzung meines Virenprogramms)
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: CSV Trennvorgabe "," auf ";" ändern
20.12.2020 09:25:30
Siegfried
Ach Hajo_Zi,
ist doch immer das gleiche mit dir, gegen Bilder bist du anscheinend etwas allergisch, ist nur gut das du dir den Text wo abgespeichert hast.
Habe in dieser Tabelle ein einziges Makro, siehe hier
  • 
    Sub Export()
    Dim TabPfad, TabName, selName, selNameTab, ZielName, ExportName As Variant
    Dim lngSheets, i  As Long 'Sheets sind alle Register
    TabName = ActiveWorkbook.Name
    TabPfad = ActiveWorkbook.Path
    selName = "Export"
    ZielName = "F:\ReSi_SiDiary_NEU.csv"
    lngSheets = ThisWorkbook.Worksheets.Count
    For i = 1 To lngSheets
    If ThisWorkbook.Worksheets(i).Name = selName Then
    selNameTab = Replace(ThisWorkbook.Worksheets(i).CodeName, "Tabelle", "")
    ExportName = ThisWorkbook.Worksheets(i).CodeName & ".SaveAs(Filename:=" & ZielName & ",  _
    FileFormat:=xlCSV, Local:=True)"
    Exit For
    End If
    Next i
    Sheets(selName).Select
    Range("A1").Select
    Application.DisplayAlerts = False
    Rem    Call ExportName
    Application.Run ExportName
    '    Call "Tabelle"&(selNameTab)&".SaveAs(Filename:="ZielName", FileFormat:=xlCSV, Local:=True)
    '    ActiveWorkbook.Save
    Application.DisplayAlerts = True
    '    ActiveWorkbook.Close
    Workbooks.Open Filename:=TabPfad & "\" & TabName
    End Sub
    

  • nur das schreiben des ExportName funzt leider nicht, aber du wirst dich da sicher auch nicht auskennen, bist ja auf Bilderabwehr spezialisiert.
    Gruß Siegfried
    Anzeige
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 11:02:37
    Nepumuk
    Hallo Siegfried,
    das genügt:
    Public Sub ExportCSV()
        
        Dim ZielName As String
        
        ZielName = "F:\ReSi_SiDiary_NEU.csv"
        
        Call Tabelle7.SaveAs(Filename:=ZielName, FileFormat:=xlCSV, Local:=True)
        
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 11:41:25
    Siegfried
    Hallo Nepumuk,
    ja das ist mir schon klar das es so einfach geht.
    Nur was ist wenn ich es nun von einem anderen Tabellenblatt machen möchte, also nicht von der Tabelle7, müsste ich mir ja ein neues Makro machen, oder eben über ThisWorkbook.Worksheets(i).CodeName von dem nun zutreffenden Tabellenblatt die Nummer erfragen.
    Das würde bei meinem Beispiel ja alles funktionieren, nur der Aufruf zur Durchführung über die erstellte Variable mit Call z.B. eben nicht, da bekomme ich immer einen Fehler und komme leider nicht darauf wie und was ich hier ändern müsste.
    Gruß Siegfried
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 11:44:46
    Nepumuk
    Hallo Siegfried,
    du könntest an Stelle von Tabelle7 einfach ActiveSheet einsetzen.
    Gruß
    Nepumuk
    Anzeige
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 11:55:03
    Siegfried
    Hi Nepumuk,
    DANKE für den Hinweis, werde ich mal sofort Versuchen.
    Gruß Siegfried
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 13:00:14
    Siegfried
    Hi Nepumuk,
    JA, das mit „ActiveSheet.SaveAs(“ funktioniert bestens, erspare mir daher die FOR NEXT Schlaufe.
    Nur nun ein neuer Schönheitsfehler, er nennt mir das Tabellenblatt auf den Namen des Exports um, OK muss es ja nicht unbedingt speichern. Dachte mit „CreateBackup:=False“ würde das unterbunden.
    Wenn ich Workbook aber nun schließe und möchte das original wieder öffnen führt das Marko natürlich nicht aus durch das Schließen, wie könnte ich das lösen?
    Gruß Siegfried
  • 
    Sub Export()
    Dim TabPfad, TabName, selName, selNameTab, ZielName, ExportName As Variant
    Dim lngSheets, i  As Long 'Sheets sind alle Register
    TabName = ActiveWorkbook.Name
    TabPfad = ActiveWorkbook.Path
    Rem selName = "Export"
    selName = "Werte_INR"
    Rem ZielName = "F:\ReSi_SiDiary_NEU.csv"
    ZielName = "F:\ReSi_SiDiary_INR.csv"
    Rem lngSheets = ThisWorkbook.Worksheets.Count
    Rem For i = 1 To lngSheets
    Rem    If ThisWorkbook.Worksheets(i).Name = selName Then
    Rem        selNameTab = Replace(ThisWorkbook.Worksheets(i).CodeName, "Tabelle", "")
    Rem        ExportName = ThisWorkbook.Worksheets(i).CodeName & ".SaveAs(Filename:=" & Chr(34) &  _
    ZielName & Chr(34) & ", FileFormat:=xlCSV, CreateBackup:=False,Local:=True)"
    Rem        Exit For
    Rem    End If
    Rem Next i
    Sheets(selName).Select
    Range("A1").Select
    Application.DisplayAlerts = False
    Call ActiveSheet.SaveAs(Filename:=ZielName, FileFormat:=xlCSV, CreateBackup:=False, Local:=True) _
    Application.DisplayAlerts = True
    '    ActiveWorkbook.Close
    '    Workbooks.Open Filename:=TabPfad & "\" & TabName
    End Sub
    


  • Anzeige
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 13:15:51
    Nepumuk
    Hallo Siegfried
    du meinst den Tabellennamen wenn du die CSV in Excel öffnest? Darauf hast du keinen Einfluss, das macht Excel automatisch. Eine CSV ist nichts anderes wie eine Textdatei die hat kein Tabellenblatt, das wird erst beim öffnen in Excel erzeugt. Mach mal einen Rechtsklick auf eine CSV-Datei - Bearbeiten, dann siehst du es.
    Gruß
    Nepumuk
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 14:29:37
    Siegfried
    Hi Nepumuk,
    wir dürften da etwas aneinander vorbei gesprochen/gedacht habe.
    Da Bilder meistens mehr sagen als Worte, einer wird sich wieder aufregen, sieht man in Bild _01 wie es vor dem Export aussieht. Nach dem Export, welcher jetzt auch bestens, egal welches Blatt ich auswähle funktioniert, wird/ist das Ausgewählte Blatt auf den Exportnamen umgetauft (siehe Bild _02), und die exportierte CSV-Datei lässt sich auch nicht löschen oder weiterverarbeiten.
    Die erzeugte CSV lässt sich erst bearbeiten/löschen wenn ich Excel beende.
    Irgendwo denke ich da vermutlich falsch, ich möchte den Urzustand, also das exportierte Tabellenblatt mit dem Namen „Export“ wieder geöffnet haben und die exportierte Datei weiter verarbeiten können.
    Gruß Siegfried
    Userbild
    Userbild
    Anzeige
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 14:36:31
    Nepumuk
    Hallo Siegfried
    teste mal:
    Public Sub ExportCSV()
        
        Dim ZielName As String
        
        ZielName = "H:\ReSi_SiDiary_NEU.csv"
        
        ActiveSheet.Copy
        
        Call ActiveSheet.SaveAs(Filename:=ZielName, FileFormat:=xlCSV, Local:=True)
        
        ActiveSheet.Parent.Close SaveChanges:=False
        
    End Sub

    Gruß
    Nepumuk
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 14:58:07
    Siegfried
    Hallo Nepumuk,
    das Copy des Tabellenblattes mit „ActiveSheet.Copy“und dann wieder schließen macht es bestens, nur den Export als CSV nicht da die kopierte Tabelle ja jetzt z.B. Mappe2 oder Mappe3 sich nennt und eben nicht mehr über „ActiveSheet.SaveAs“ angesprochen wird.
    Gruß Siegfried
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 15:02:47
    Nepumuk
    Hallo Siegfried
    kann ich nicht nachvollziehen. Nach ActiveSheet.Copy ist die kopierte Tabelle die aktive. Die wird exportiert und das entstandene Workbook geschlossen. Bei mir funktioniert das so. Hast du den Pfad angepasst denn ich arbeite auf Laufwerk H.
    Gruß
    Nepumuk
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 17:08:45
    Siegfried
    Hallo Nepumuk,
    entschuldige bitte das es etwas gedauert hat, war mit meiner Frau kurz Fernsehen.
    1x hat es funktioniert, jetzt leider wieder nicht mehr, ich höre auch nicht das Geräusch was sonst beim speichern zu hören ist.
    Er kopiert das Tabellenblatt in eine Mappe2, von der sollte jetzt das "Call ActiveSheet.SaveAs(" erfolgen, höre aber wie gesagt nicht das Geräusch was sonst beim speichern zu hören war, anschließend wird Mappe2 geschlossen und befindet sich wieder im Original Workbook.
    Verstehe das auch nicht ganz?
    Gruß Siegfried
    AW: CSV Trennvorgabe "," auf ";" ändern
    20.12.2020 18:06:21
    Siegfried
    Hallo Nepumuk,
    also manchmal muss und kann man sich nur wundern, jetzt habe ich die Geräuschfunktion beim Speichern deaktiviert, ist in einem Modul von SmartTools möglich, jetzt funktioniert plötzlich alles.
    Habe es 2x mit drei verschiedenen Tabellenblätter durchgezogen, ohne Probleme.
    Also nochmals ein herzliches DANKE an dich für die Hilfeleistung, wenn überhaupt wäre ich wahrscheinlich sicher nicht auf diese Lösung gekommen, man sucht da immer viel zu kompliziert.
    Gruß Siegfried
    und sollten wir uns vor den Feiertagen nicht mehr kontaktieren, jedenfalls dir und Familie ein Frohes Weihnachtsfest und vor allem Gesundheit und ein
    Userbild
    AW: CSV Trennvorgabe "," auf ";" ändern
    21.12.2020 06:18:10
    Hajo_Zi
    offen bedeutet es soll noch eine Antwort kommen.
    Warum ist dein Beitrag Offen.
    Du willst doch was machen. Soll jemand vorbei kommen?
    Das ist nur meine Meinung zu dem Thema.

    AW: CSV Trennvorgabe "," auf ";" ändern
    21.12.2020 09:30:31
    Siegfried
    Ja hätte an und für sich auf den Weihnachtsmann gewartet und nicht auf Dich!!!
    Nun spaß bei seite, setzte das Kontrollkästchen immer am Anfang gleich, hatte es schon einigemal vergessen und mich dann gewundert warum ich keine Antworten bekomme.
    Aber bei der Gelegenheit lieber Hajo_Zi auch dir ein schönes Weihnachtsfest und Guten Rutsch nach 2021!
    Gruß Siegfried
    AW: CSV Trennvorgabe "," auf ";" ändern
    17.12.2020 11:33:58
    Siegfried
    Hallo Klaus,
    also wenn ich das richtig verstanden habe, müsste mit meiner Regionseinstellung "Österreich", ist so eingestellt, als Trennzeichen bei CSV das ";" kommen, macht er aber nicht!
    Wird mir wohl nichts anderes übrig bleiben als eine Lösung nach Nepomuks Vorschlag zu suchen.
    Jedenfalls DANKE für deine INFO.
    Gruß Siegfried
    AW: CSV Trennvorgabe "," auf ";" ändern
    17.12.2020 11:53:59
    KlausFz
    Hallo Siegfried,
    klick in Windows-Einstellungen bei Region rechts oben auf "Zusätzliche Datums-, Uhrzeit- und Ländereinstellungen".
    Evtl. kommt dann noch das alte Windows7-Menü, dort auf Region/Datums-, Uhrzeit- oder Zahlenformat ändern".
    Im folgenden Fenster auf "weitere Einstellungen" klicken.
    Nun bist Du an der Stelle zum Einstellen aller Trennzeichen!
    Gruß!
    Klaus
    AW: CSV Trennvorgabe "," auf ";" ändern
    17.12.2020 11:56:15
    KlausFz
    Vergessen:
    Schau nach, ob in Excel/Optionen/Erweitert/Bearbeitungsoptionen
    ein Haken gesetzt ist bei "Trennzeichen vom Betriebsystem übernehmen!
    AW: CSV Trennvorgabe "," auf ";" ändern
    19.12.2020 12:29:43
    Siegfried
    Hallo Klaus, habe da alle möglichen Einstellungen die du mir da aufgezählt hast versucht. So wirklich keine davon 100% erfolgreich, einmal funktionierte es und die Trennzeichen waren ;, beim nächsten mal leider wieder nicht.
    Also am besten hat es bis jetzt mit der Anregung von Nepumuk funktioniert, nur habe ich da mit einigen anderen Sachen Probleme, das Ergebnis selbst ist jedoch positiv.
    Aber dazu werde ich ihn noch selbst kontaktieren.
    Jedenfalls ein DANKE für deine Hilfe
    Gruß Siegfried

    300 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige