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

Ausschreiben von Dateien per VBA SaveAs

Ausschreiben von Dateien per VBA SaveAs
Dateien
Guten Morgen,
Hab ein kleines Problem und hab mich schon den ganzen Morgen durchs Internet geschlagen und auch viel hier gefunden, aber irgendwie wills bei mir nicht funktionieren ...
Hab mir hier zur Auswertung von Messdaten n kleinen Excel Tabellensatz erschaffen damit ich die Inputfiles für die Simulationen schnell und sauber generieren kann. Leider funktioniert das ganze nicht so wie ich es will.
Das Makro soll mir verschiedene Tabellenblätter als txt File (genauer .dat) abspeichern, aber _ das Excelfile unberührt lassen! Hab mir also über Makro aufzeichen mal den grundsätzlichen Code erschaffen und mit Hilfe von Internetrecherche versucht meine Zellbezüge zur Speicherung zu erstellen. Dies schaut nun wie folgt aus :

Sub Makro4()
' Makro4 Makro
' Beschreibung x
' Tastenkombination: Strg+q
Dim Messdatum As String
Dim Messpunkt As String
Dim Pfad As String
Messdatum = Sheets("Input_Parameter").Range("C8").Value
Messpunkt = Sheets("Input_Parameter").Range("C1").Value
Pfad = "I:\max\mustermann\Messpunkte\" & "Messdatum" & "\" & "MP" & "_" & "Messpunkt" & "\"
Sheets("input").Select
ActiveWorkbook.SaveAs Filename:=Pfad & "input" & ".dat", FileFormat:=xlText, _
CreateBackup:=False
Sheets("hansi").Select
ActiveWorkbook.SaveAs Filename:=Pfad & "hansi" & ".dat", FileFormat:=xlText, _
CreateBackup:=False
Sheets("lua").Select
ActiveWorkbook.SaveAs Filename:=Pfad & "lua" & ".dat", FileFormat:=xlText, _
CreateBackup:=False
Sheets("us_in").Select
ActiveWorkbook.SaveAs Filename:=Pfad & "us_in" & ".dat", FileFormat:=xlText, _
CreateBackup:=False
Sheets("us_ex").Select
ActiveWorkbook.SaveAs Filename:=Pfad & "us_ex" & ".dat", FileFormat:=xlText, _
CreateBackup:=False
End Sub

Nach dem ich den Einleseteil angehängt habe funktioniert nichts mehr...
Weiters ändert es mein xlsm durch die SaveAs Funktion, wie kann ich das umgehen?
Wäre euch sehr dankbar
Mfg

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

Betreff
Benutzer
Anzeige
SaveCopyAs owT
25.05.2012 11:57:01
Rudi
AW: SaveCopyAs owT
25.05.2012 12:20:01
Nofi
Wenn ich das SaveAs mit SaveCopyAs ersetze macht er nur noch mehr rot ?
AW: Ausschreiben von Dateien per VBA SaveAs
25.05.2012 12:41:08
Dateien
Hallo Nofi,
Sub Makro4()
' Makro4 Makro
' Beschreibung x
' Tastenkombination: Strg+q
Dim Messdatum As String
Dim Messpunkt As String
Dim Pfad As String
Dim Blaetter, B As Integer
Blaetter = Array("input", "hansi", "lua", "us_in", "us_ex")
With ThisWorkbook
Messdatum = .Sheets("Input_Parameter").Range("C8").Value
Messpunkt = .Sheets("Input_Parameter").Range("C1").Value
Pfad = "I:\max\mustermann\Messpunkte\" & Messdatum & "\" & "MP_" & Messpunkt & "\"
For B = LBound(Blaetter) To UBound(Blaetter)
.Sheets(Blaetter(B)).Copy
ActiveWorkbook.SaveAs Filename:=Pfad & "input.dat", FileFormat:=xlText
ActiveWorkbook.Close False
Next B
End With
End Sub

Gruß
Reinhard
Anzeige
AW: Ausschreiben von Dateien per VBA SaveAs
25.05.2012 12:55:07
Dateien
Hallo,
ungetestet:
Sub Makro4()
Dim Messdatum As String
Dim Messpunkt As String
Dim Pfad As String
Dim mySheet As Worksheet
Messdatum = Sheets("Input_Parameter").Range("C8").Value
Messpunkt = Sheets("Input_Parameter").Range("C1").Value
Pfad = "I:\max\mustermann\Messpunkte\" & "Messdatum" & "\" & "MP" & "_" & "Messpunkt" & "\"
For Each mySheet In Sheets(Array("input", "hansi", "lua", "us_in", "us_ex"))
prcCreateDatFile mySheet, Pfad & mySheet.Name & ".dat"
Next
End Sub
Public Sub prcCreateDatFile(wks As Worksheet, strFileName As String)
Dim intFileNumber As Integer
Dim lngRow As Long
Dim vntArray As Variant
Dim strText As String
Const strSep As String = vbTab
With wks.Range("A1").CurrentRegion
For lngRow = 1 To .Rows.Count
vntArray = .Cells(lngRow, 1).Resize(, .Columns.Count)
vntArray = WorksheetFunction.Transpose(WorksheetFunction.Transpose(vntArray))
If strText = "" Then
strText = Join(vntArray, strSep)
Else
strText = strText & vbCrLf & Join(vntArray, strSep)
End If
Next
End With
intFileNumber = FreeFile
Open strFileName For Output As #intFileNumber
Print #intFileNumber, strText
Close #intFileNumber
End Sub
Gruß
Rudi
Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige