Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Code ändern

VBA Code ändern
bustue
Hallo Leute,
wie kann man folgenden Code ändern, so daß ich im Code den Pfad fest vergebe jedoch den Dateinamen über die Abfrage eingeben kann.
Sub schreibenCSV()
f = FreeFile(0)
fname = InputBox("Bitte Pfad und Dateinamen der Zieldatei eingeben (z.B. c:\tmp\text.csv):", " _
Eingabe Pfad und Dateiname")
MsgBox "Der Name der Ausgabedatei lautet: " & fname
fseparator = InputBox("Bitte das Trennzeichen eingeben:", "Eingabe Trennzeichen")
MsgBox "Das gewählte Trennzeichen ist: " & fseparator
If fname  False Then
Open fname For Output As #f
Set Rng = ActiveCell.CurrentRegion
Debug.Print Rng.Address
FCol = Rng.Columns(1).Column
LCol = Rng.Columns(Rng.Columns.Count).Column
Frow = Rng.Rows(1).Row
Lrow = Rng.Rows(Rng.Rows.Count).Row
For I = Frow To Lrow
outputLine = ""
For j = FCol To LCol
If j  LCol Then
outputLine = outputLine & Cells(I, j) & fseparator
Else
outputLine = outputLine & Cells(I, j)
End If
Next j
Print #f, outputLine
Next I
Close #f
End If
MsgBox "Vorgang abgeschlossen!"
End Sub
Für Eure Hilfe im Voraus dankend Buste
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Code ändern
19.10.2009 20:33:49
Dirk
Hallo Buste,
meinst du so:?
Sub schreibenCSV()
f = FreeFile(0)
fname = InputBox("Bitte Dateinamen der Zieldatei eingeben" & vbNewLine & "(z.B. text.csv):", "  _
Eingabe Dateiname")
MsgBox "Der Name der Ausgabedatei lautet: " & fname
fname = "c:\tmp\" & fname 'hier wird die Variable fname neu geschrieben: fester Pfad +  _
Dateinamen aus Inputbox
fseparator = InputBox("Bitte das Trennzeichen eingeben:", "Eingabe Trennzeichen")
MsgBox "Das gewählte Trennzeichen ist: " & fseparator
If fname  False Then
Open fname For Output As #f
Set Rng = ActiveCell.CurrentRegion
Debug.Print Rng.Address
FCol = Rng.Columns(1).Column
LCol = Rng.Columns(Rng.Columns.Count).Column
Frow = Rng.Rows(1).Row
Lrow = Rng.Rows(Rng.Rows.Count).Row
For I = Frow To Lrow
outputLine = ""
For j = FCol To LCol
If j  LCol Then
outputLine = outputLine & Cells(I, j) & fseparator
Else
outputLine = outputLine & Cells(I, j)
End If
Next j
Print #f, outputLine
Next I
Close #f
End If
MsgBox "Vorgang abgeschlossen!"
End Sub

Gruß
Dirk R.
Anzeige
AW: VBA Code ändern
20.10.2009 13:51:11
BuStue
Hallo Dirk,
genauso hatte ich mir das gedacht , Leider bekomme ich nach Ablauf der Routine eine Fehlermeldung mit dem Hinweis: Open fname For Output As #f
Mit freundlichen Grüßen
Burghard
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige