VBA Tabellenblatt in txt und xlsx automatisch speichern

Diskutiere und helfe bei VBA Tabellenblatt in txt und xlsx automatisch speichern im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo Zusammenich hoffe ihr könnte mir helfen. Ich würde gerne ein Tabellenblatt "Angebot" mit makros automatisch als eine txt Datei abspeichern... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Tarci04, 16. Februar 2022.

  1. Tarci04
    Tarci04 Gast

    VBA Tabellenblatt in txt und xlsx automatisch speichern


    Hallo Zusammenich hoffe ihr könnte mir helfen. Ich würde gerne ein Tabellenblatt "Angebot" mit makros automatisch als eine txt Datei abspeichern lassen. Zusätzlich sollte die text Datei ein spezielles format habe. Bis hierhin passt klappt alles.Nun mein Problem: Wie muss ich mein Code ändern, so dass jedes mal wenn ich die Makros ausführe, ein Fenster aufpoppt damit ich selbst bestimmen kann wie der Datei Name sein soll die gerade abgespeichert wird. Mein Code sieht bis jetzt wie folgt aus:Sub ascii_datei_exportieren Close #1 'Öffnen der Textdatei Open "G:\03_Ordner\04_Meine_Daten\01_Grupp
     
  2. Andreas Killer Win User

    VBA Tabellenblatt in txt und xlsx automatisch speichern

    Lad Dir mal das AddIn runter.
    <br />https://www.dropbox.com/s/m7qdh5gs3wqb99r/CSV.xla?dl=1
    <br />Speicher es irgendwo ab und öffne es.
    <br />Dann öffnest Du Deine Datei.
    <br />Klick mit Rechts auf eine Zelle, das CSV Menü ist ganz unten, in den Optionen stellst Du das Format ein.

    [​IMG]

    <br />Jetzt gehst Du in den VBA Editor
    <br />Extras \ Verweise und da setzt Du einen Haken bei "AddIn_CSV":
    <br />
    [​IMG]

    <br />In ein reguläres Modul diesen Code
    <br />Sub Test()
    Dim FName As String
    With Application.FileDialog(msoFileDialogSaveAs)
    .FilterIndex = 12
    .InitialFileName = Environ$("UserProfile") & "\Documents\Mein Dateiname.txt"
    .ButtonName = "Abspeichern"
    If Not .Show Then Exit Sub
    FName = .SelectedItems(1)
    End With
    CSVExport FName, Intersect(Range("A1").CurrentRegion, Range("A:E"))
    End Sub

    <br />Wenn das läuft, dann kopierst Du das ganze und rufst statt CSVExport den Part auf:
    <br /> 'Kopie des Blattes als neue Datei
    ActiveSheet.Copy
    'Fehler aus
    Application.DisplayAlerts = False
    'Abspeichern
    ActiveWorkbook.SaveAs "Z:\test.xlsx", xlOpenXMLWorkbook
    'Fehler an
    Application.DisplayAlerts = True
    <br />Der FilterIndex = 1 ist für xlsx Dateien.
    <br />Andreas.
    <br />
  3. Tarci04 Win User

    VBA Tabellenblatt in txt und xlsx automatisch speichern

    Hallo Andreas,
    <br />vielen Dank für deine schnelle Antwort.
    <br />hat leider nicht geklappt.
    <br />wenn ich deine Datei öffne und dann meine und anschließend mit rechts auf eine Zelle klicke, kommt die CSV option garnicht.
    <br />Für die Text Datei habe ich tatsächlich schon ein Code geschrieben die ich anwenden kann.
    <br />Sub ascii_datei_exportieren()
    <br />Close #1
    <br />'Benutzer wählt Pfad und Name aus
    <br /> Dim Fullpath As Variant
    <br /> Fullpath = Application.GetSaveAsFilename(FileFilter:="Text-Dateien (*.txt),*.txt")
    <br />
    <br />'Öffnen der Textdatei
    <br />Open Fullpath For Output As 1
    <br />
    <br />'Schleife für Zeilen
    <br />For zeile = 1 To 1000000
    <br />If Cells(zeile, 1) = "" Then Exit For
    <br /> Text = ""
    <br /> 'Schleife für Spalten
    <br /> For spalte = 1 To 5
    <br /> Text = Text & CVar(Cells(zeile, spalte))
    <br /> If spalte < 5 Then Text = Text & "|" 'Trennzeichen = |
    <br /> Next
    <br /> Print #1, Text
    <br />Next
    <br />Close #1
    <br />'Schließen der Textdatei
    <br />
    <br />End Sub
    <br />Mir fehlt jetzt nur noch ein separaten Code für die Speicherung des Tabellenblattes als Excel auf ein bestimmten Pfad aber wo ich den Namen der Datei immer Manuell eingebe. Noch besser wäre es wenn die Datei erkennen würde das es schon Dateien Namen "1, 2, 3" im Ordner drin sind und sich selbst dann mit der nächsten zahl einspeichern würde.
    <br />Meinst du dies wäre möglich?
    <br />
  4. Andreas Killer Win User

    VBA Tabellenblatt in txt und xlsx automatisch speichern

    Also, wenn Du ein AddIn öffnest und es nicht funktioniert, dann wird die Ausführung des Codes von Deinem System unterdrückt. Wahrscheinlich ist die Datei einfach geblockt.
    <br />Unblock File in Windows 10 | Tutorials
    <br />Oder Du hast die Datei an einem Ort der nicht durch Deine Sicherheitseinstellungen abgedeckt ist. Oder diese unterbinden die Ausführung generell ....
    <br />Wie auch immer, Du kann Deinen Code verwenden, aber das gibt früher oder später Murks.
    Schau Dir meinen (im AddIn) an, es gehört schon etwas mehr dazu.
    <br />Und wie man ein Blatt separiert und als XLSX abspeichert hatte ich schon gezeigt:
    <br /> 'Kopie des Blattes als neue Datei
    <br /> ActiveSheet.Copy
    <br /> 'Fehler aus
    <br /> Application.DisplayAlerts = False
    <br /> 'Abspeichern
    <br /> ActiveWorkbook.SaveAs "Z:\test.xlsx", xlOpenXMLWorkbook
    <br /> 'Fehler an
    <br /> Application.DisplayAlerts = True
    <br />Und eine automatische "Weiternummerierung" ... klar kann man alles machen, häng einfach eine fortlaufende Nummer an den Dateinamen an und kuck ob er existiert.
    <br /> Dim i As Long
    If Dir(Fullpath) <> "" Then
    i = 1
    Do While Dir(Fullpath & i) <> ""
    i = i + 1
    Loop
    Fullpath = Fullpath & i
    End If

    <br />Andreas.
    <br />
  5. Andreas Killer Win User

    VBA Tabellenblatt in txt und xlsx automatisch speichern

    Der Code mit der fortlaufenden Nummer funktioniert in Kombination mit Deinem so nicht... weil der FullPath enthält auch die Dateiendung, Entschuldigung.
    <br />Der Code unten macht einen neuen Namen wie der Windows-Explorer.
    <br />Andreas.
    <br />Function NewFileName(ByVal FullName As String) As String
    'Return a filename that did not exists but begins with fullname
    ' i.E.: c:\temp\test.xla => c:\temp\test(1).xla
    Dim i As Long, LeftParen As Long, RightParen As Long, DotPos As Long
    Dim LeftPart As String, RightPart As String
    If Dir$(FullName) <> "" Then
    LeftParen = InStrRev(FullName, "(")
    RightParen = InStrRev(FullName, ")")
    On Error GoTo AddParen
    i = Mid$(FullName, LeftParen + 1, RightParen - LeftParen - 1)
    LeftPart = Left$(FullName, LeftParen)
    RightPart = Mid$(FullName, RightParen)
    GoTo Doit
    AddParen:
    DotPos = InStrRev(FullName, ".")
    If DotPos = 0 Then
    LeftPart = FullName & "("
    RightPart = ")"
    Else
    LeftPart = Left$(FullName, DotPos - 1) & "("
    RightPart = ")" & Mid$(FullName, DotPos)
    End If
    Doit:
    Do
    i = i + 1
    NewFileName = LeftPart & i & RightPart
    Loop Until Dir$(NewFileName) = ""
    Else
    NewFileName = FullName
    End If
    End Function

    <br />
  6. Claus Busch Win User

    Interne Bezüge in Excel2013

    Hallo,

    ich kann das nicht nachvollziehen. Da das Tabellenblatt mit seinem Namen referenziert wird, ist es egal an welcher Stelle es sich befindet.

    Ist die Berechnung auf "Automatisch" gestellt? Hast du die Formeln von Hand eingegeben oder mit VBA? Wenn mit VBA, hast du dann das Tabellenblatt mit Namen oder mit Nummer referenziert? Ist das nur in dieser Mappe so oder generell in allen Mappen?

    Claus
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

VBA Tabellenblatt in txt und xlsx automatisch speichern - Microsoft Office

Die Seite wird geladen...

VBA Tabellenblatt in txt und xlsx automatisch speichern - Similar Threads - VBA Tabellenblatt xlsx

Forum Datum

Excel VBA Format Tabellenblätter

Excel VBA Format Tabellenblätter: Hallo Zusammen.ich habe 6 Tabellenblätter mit dem gleichen Design Schaltflächen etcWenn ich jetzt einen Button für alle Tabellenblätter nachträglich einfügen und ich diesen Button analog zu den...
Microsoft Office 14. Dezember 2022

Speichern als xlsx geht nicht

Speichern als xlsx geht nicht: Wenn ich in VBA ein Excel Dokument versuch zu speichern erscheint das: Ich speichere mit Application.ActiveWorkbook.SaveAs Filename:="Modul " & MyCell.Value & ".xlsx", FileFormat:=51
Microsoft Office 29. September 2021

Excel speichern als *xlsx

Excel speichern als *xlsx: Hallo Profis!! Ich habe einen Makro durch welchen ich ein Arbeitsblatt in eine ExcelDatei.xls speichern tu. Nun möchte ich aber diese Datei Excel365 konform als *.xlsx gespeichert haben. Was ist...
Microsoft Office 23. März 2021

VBA "speichern unter"

VBA "speichern unter": Moin zusammen, ich möchte über einen Makro eine Datei unter einem anderen Namen, der in einer Celle [Variable!B5] steht und durch eine Verkettung erstellt wird, neu speichern. Aber ich bekomme...
Microsoft Office 2. Januar 2021

Vba Alle Tabellenblätter durchsuchen und wenn Kriterium erfüllt in ein neues Tabellenblatt...

Vba Alle Tabellenblätter durchsuchen und wenn Kriterium erfüllt in ein neues Tabellenblatt...: Hallo, Ich hoffe Ihr könnt mir bei meinem Problem helfen. Das Makro soll mir aus Tabelle2 die Zellen in Tabelle1 kopieren wenn in Tabelle2 die Spalte W ein x aufweist. Bis hier hin habe ich...
Microsoft Office 27. Dezember 2020

Excel Tabellenblätter Ein- / Ausblenden VBA

Excel Tabellenblätter Ein- / Ausblenden VBA: Hallo zusammen, ich bräuchte in folgender Excel Datei eure Hilfe: Excel_Makro Es geht darum, ein Makro einzufügen. Sobald in dem Tabellenblatt "Übersicht" ein Haken im Kontrollkästchen eines...
Microsoft Office 19. Dezember 2018

Mehrere Tabellenblätter per VBA aus Auflistung in einem anderen Tabellenblatt auswählen und...

Mehrere Tabellenblätter per VBA aus Auflistung in einem anderen Tabellenblatt auswählen und...: Hallo Ihr Lieben, habe ein für Euch wahrscheinlich kleines Problem, dass ich einfach nicht hin bekomme. Ich habe ein Tabellenblatt (ich habe es "Drucken" genannt) in dem alle folgenden...
Microsoft Office 6. September 2018
VBA Tabellenblatt in txt und xlsx automatisch speichern solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.