Anpassing Makro Variabel speichern stat konstant,

Bild

Betrifft: Anpassing Makro Variabel speichern stat konstant,
von: Karel
Geschrieben am: 22.06.2015 20:40:28

Gute Abend
Haben Untenstehenden Code im Einsatz aber brauche eine Änderung beim Speichern.
Möchte gerne Activesheet in order Test aber gerne unter den Aktuelle Tabellennamen speichern aber mit Datum und Uhrzeit.
Option Explicit

Sub SaveCSV()
'Quelle: Thomas Ramel
'http://www.office-loesung.de/fpost62938.php#62938
Dim Bereich         As Object
Dim Zeile           As Object
Dim Zelle           As Object
Dim strTemp         As String
Const Pfad          As String = "C:\Test\"
Const Dateiname     As String = "test"
Const Extension     As String = ".CSV"
Const Trennzeichen  As String = ";"
Const Kapselzeichen As String = """"
   'Hier kann auch ein eigener Range angegeben werden
   'Set Bereich = ActiveSheet.Range("A1:B5")
   Set Bereich = ActiveSheet.UsedRange
   Open Pfad & Dateiname & Extension For Output As #1
   For Each Zeile In Bereich.Rows
      For Each Zelle In Zeile.Cells
         If InStr(1, Zelle.Text, Trennzeichen) > 0 Then   'angepasst T.Ramel
            'Zellen, die ein Trennzeichen beinhalten in Kapselzeichen setzen
            strTemp = strTemp & Kapselzeichen & CStr(Zelle.Text) & _
                      Kapselzeichen & Trennzeichen
         Else
            strTemp = strTemp & CStr(Zelle.Text) & Trennzeichen
         End If
      Next
      strTemp = Left(strTemp, Len(strTemp) - 1)    'angepasst T.Ramel
      Print #1, strTemp
      strTemp = ""
   Next
   Close #1
   Set Bereich = Nothing
End Sub

mfg
Karel

Bild

Betrifft: AW: Anpassing Makro Variabel speichern stat konstant,
von: Michael
Geschrieben am: 22.06.2015 21:11:33
Hi Karel,
mache aus "Dateiname" eine Variable statt einer Konstanten und füge irgendwo nach den ganzen Deklarationen (etwa nach dem set Bereich) die Zeile

Dateiname = ActiveSheet.Name & "_" & Format(Now, "YYYYMMDD_hhmmss")
ein.
Schöne Grüße,
Michael

Bild

Betrifft: AW: Anpassing Makro Variabel speichern stat konstant,
von: Karel
Geschrieben am: 22.06.2015 21:58:18
Hallo Michael,
Mein VBA ist leider nicht ausreichend benutze der Code, aber habe kein Idee wo genau die Änderungen reinkommen. Wenns du betreffenden Code kannst anpassen gerne........
Schöne Grüße,
Karel

Bild

Betrifft: AW: Anpassing Makro Variabel speichern stat konstant,
von: Michael
Geschrieben am: 22.06.2015 22:12:01
Hi Karel,
aber ungetestet, weil ich Deine Datei nicht nachbauen will:

Sub SaveCSV()
'Quelle: Thomas Ramel
'http://www.office-loesung.de/fpost62938.php#62938
Dim Bereich         As Object
Dim Zeile           As Object
Dim Zelle           As Object
Dim strTemp         As String
Const Pfad          As String = "C:\Test\"
Dim   Dateiname     As String
Const Extension     As String = ".CSV"
Const Trennzeichen  As String = ";"
Const Kapselzeichen As String = """"
   'Hier kann auch ein eigener Range angegeben werden
   'Set Bereich = ActiveSheet.Range("A1:B5")
   Set Bereich = ActiveSheet.UsedRange
 Dateiname = ActiveSheet.Name & "_" & Format(Now, "YYYYMMDD_hhmmss")
   Open Pfad & Dateiname & Extension For Output As #1
   For Each Zeile In Bereich.Rows
      For Each Zelle In Zeile.Cells
         If InStr(1, Zelle.Text, Trennzeichen) > 0 Then   'angepasst T.Ramel
            'Zellen, die ein Trennzeichen beinhalten in Kapselzeichen setzen
            strTemp = strTemp & Kapselzeichen & CStr(Zelle.Text) & _
                      Kapselzeichen & Trennzeichen
         Else
            strTemp = strTemp & CStr(Zelle.Text) & Trennzeichen
         End If
      Next
      strTemp = Left(strTemp, Len(strTemp) - 1)    'angepasst T.Ramel
      Print #1, strTemp
      strTemp = ""
   Next
   Close #1
   Set Bereich = Nothing
End Sub
Ok?
Gruß,
Michael

Bild

Betrifft: AW: Anpassing Makro Variabel speichern stat konstant,
von: Karel
Geschrieben am: 22.06.2015 22:46:49
Hallo Michel,
Getestet und Funktioniert aber ein kleine wünsch habe ich noch.
Datei wird korekt unter Tabellename und Zeit gespeichert Export 1_20150622_222451
Aber der Tabelle namen sollte nur "Export 1" bleiben hat jetzt aber auch der namen erhalten
Export 1_20150622_222451
Grüße
Karel

Bild

Betrifft: AW: Anpassing Makro Variabel speichern stat konstant,
von: Michael
Geschrieben am: 22.06.2015 23:23:07
Hallo Karel,
d.h. wenn Du die erzeugte .CSV-Datei in Excel öffnest?
Das wird sich nicht vermeiden lassen, derweil eine .CSV-Datei eine TEXT-Datei ist, bei der die Werte mal historisch gesehen mit Komma getrennt waren (CommaSeparatedValues), und eine TEXT-Datei besitzt keine "Tabellenblätter" in dem Sinne, auch wenn sie sich in Excel öffnen läßt.
Wenn Du darauf Einfluß nehmen willst, mußt Du eben doch das .XLS-Format nehmen.
Oder so: wer auch immer die .CSV-Datei weiterverarbeitet, wird den "Blattnamen" nicht angezeigt bekommen, weil er in der Datei selbst nicht gespeichert ist.
Öffne die CSV einfach mal mit dem Windows-Editor, dann siehst Du, was ich meine.
Schöne Grüße,
Michael

Bild

Betrifft: Ot
von: Karel
Geschrieben am: 23.06.2015 19:02:46
Hallo Michael,
Stimmt ist ja auch Logisch, danke für deine hilfe
Beste Grüße
Karel

Bild

Betrifft: gerne, vielen Dank für die Rückmeldung owT
von: Michael
Geschrieben am: 24.06.2015 07:46:55


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Anpassing Makro Variabel speichern stat konstant,"