Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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

Einzelne Registerkarte in neue Datei speichern

Einzelne Registerkarte in neue Datei speichern
14.10.2008 11:46:43
Herbert
Hallo Experten,
ich möchte per Button eine einzelne Registerkarte meiner Excel-Datei im Format: "Text (Tabstopp-getrennt)(*.txt)" abspeichern. Die neue Datei soll im Ordner C:\temp erscheinen. Der Name der neuen Datei ist eigentlich egal.
Wäre für jeden Vorschlag dankbar.
Danke und Gruß.
Herbert

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einzelne Registerkarte in neue Datei speichern
14.10.2008 11:55:00
otto
Hi,
vielleicht so:

Sub Speichernunter()
Dim dateiPfad As String
Dim Name As String
dateiPfad = "C:\temp\"
Name = "Test"
Worksheets("Tabelle1").Copy
Worksheets("Tabelle1").SaveAs Filename:=(dateiPfad &  Nummer) _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub


gruß
otto

AW: Einzelne Registerkarte in neue Datei speichern
14.10.2008 12:05:50
Herbert
Hallo,
danke für die schnelle Hilfe. Bei Ausführung des Codes erscheint die Fehlermeldung: "Index außerhalb des gültigen Bereiches". Der Bereich:
Worksheets("Tabelle1").SaveAs Filename:=(dateiPfad & Nummer) _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
wird dabei gelb hinterlegt.
Anzeige
AW: Einzelne Registerkarte in neue Datei speichern
14.10.2008 12:06:43
Rudi
Hallo,

Sub SaveAsTxt()
Dim strSep As String, strDat As String, _
iCols As Byte, iRows As Integer, _
iR As Long, strTxt As String, strTmp, _
strPfad As String
strPfad = "c:\temp\"
Reset
With ActiveSheet
iRows = .UsedRange.Rows.Count
iCols = .UsedRange.Columns.Count
strSep = Chr(9)
strDat = strPfad & ActiveSheet.Name & ".txt"
Open strDat For Output As #1
For iR = 1 To iRows
strTmp = .Range(.Cells(iR, 1), .Cells(iR, iCols))
strTmp = WorksheetFunction.Transpose(WorksheetFunction.Transpose(strTmp))
strTxt = Join(strTmp, strSep)
Print #1, strTxt
Next iR
Close #1
End With
End Sub


Gruß
Rudi

Anzeige
Super! Vielen Dank!
14.10.2008 12:20:00
Herbert
Funktioniert spitze. Große Klasse. Würde ich auch gern so programmieren können.

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige