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

Neue Excel-Datei erstellen

Neue Excel-Datei erstellen
11.09.2013 16:42:12
Nico
Hallo zusammen,
ich möchte gerne aus einer Tabelle (15) meiner aktuellen Excel-Datei die Daten aus dem Bereich A1:F575 in eine neue Excel-Datei reinkopieren. Das Makro sollte automatisch eine .xlsx - Datei erstellen. Dazu soll die neue Datei genau so heissen, wie ich Zelle J91 der Tabelle 11 meiner aktuellen Excel-Datei bestimmt habe. Der Speicherpfad wird in Tabelle 11, Zelle E93 vorgegeben.
Den Code den ich versucht habe lautet:
Option Explicit

Sub NewFile()
Dim fName As Variant
Dim Path1 As String
Path1 = Sheets("11").Range("E93")
ChDir Path1
'Do
fName = Application.GetSaveAsFilename( _
fileFilter:="Microsoft Office Excel-Arbeitsmappe (*.xlsx), *xlsx")
If fName  False Then
ActiveWorkbook.SaveAs Filename:=fName
MsgBox "Save as " & fName
End If
'Loop Until fName1  False
'ActiveWorkbook.SaveAs Filename:=fName
'MsgBox "Save as " & fName
'ActiveWorkbook.SaveAs
Dim Filename3 As String
Filename3 = Sheets("11").Range("J91")
ActiveWorkbook.SaveAs Filename:=Filename3 _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Sheets("15").Select
ActiveSheet.Unprotect ("XX")
Range("A1:F575").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, Skipblanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Jetzt kommt immer sobald ich speichern möchte, der Laufzeitfehler '1004':
Diese Erweiterung kann nicht mit dem ausgewählten Dateityp verwendet werden. Ändern Sie die Dateierweiterung im Textfeld 'Dateiname', oder wählen Sie einen anderen Dateityp aus, indem Sie die Auswahl unter 'Speichern unter' ändern.
Jemand eine Ahnung an was das liegen könnte? Ausserdem muss ich ja jetzt einen Namen für die neue Datei eingeben, ich möchte aber dass er das automatisch zieht und dann in der MsgBox sagt?
Besten Dank. Nico

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neue Excel-Datei erstellen
12.09.2013 09:40:18
ChrisL
Hi Nico
Der Fehler kommt m.E. daher, dass der Dateityp xlsm statt xlsx lauten müsste. Wenn du Save-As machst, hat die Datei das Makro drin.
Den Rest der Frage verstehe ich nicht.
cu
Chris

AW: Neue Excel-Datei erstellen
12.09.2013 10:57:49
Thorsten_Z
Moin Nico,
ich habe den folgenden Code nach deinen beschriebenen Vorgaben gemacht.
Anpassen (wegen der Tabellenbezeichnung) mußt du ihn selber.
ACHTE DARAUF, das in deiner Zelle wo der Pfad steht auch am ende ein "\" ist. Z.B. C:\Temp\
Sub kopie()
Dim DName As String
Dim Pfad As String
DName = Worksheets("Tabelle2").Range("J91") & ".xlsx" 'Tabelle anpassen
Pfad = Worksheets("Tabelle2").Range("E93")            'Tabelle anpassen
Sheets("Tabelle1").Range("A1:F575").Copy               'Tabelle anpassen
Workbooks.Add
Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:=Pfad & DName, FileFormat _
:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
End Sub

Hilfts?
Gruß
Thorsten

Anzeige
AW: Neue Excel-Datei erstellen
12.09.2013 10:56:39
Rudi
Hallo,
Sub NewFile()
Dim strFileName As Variant
Dim strPath As String
Dim wkbNeu As Workbook
Dim wksQ As Worksheet
Application.ScreenUpdating = False
strPath = Sheets("11").Range("E93")
If Right(strPath, 1)  "\" Then strPath = strPath & "\"
strFileName = Sheets("11").Range("J91")
Set wksQ = Sheets("15")
Set wkbNeu = Workbooks.Add(1)
wksQ.Range("A1:F575").Copy
With wkbNeu
.Sheets(1).Cells(1, 1).PasteSpecial xlPasteValues
.SaveAs strPath & strFileName, xlOpenXMLWorkbook
.Close
End With
End Sub

Gruß
Rudi

Da war der Rudi schneller ;-) owt
12.09.2013 11:00:16
Thorsten_Z

AW: Neue Excel-Datei erstellen
12.09.2013 13:01:19
Nico
Hallo zusammen,
ich habe nun folgenden Code eingefügt:
Sub Upload()
Application.ScreenUpdating = False
ThisWorkbook.VBProject.Name = "Upload"
Select Case Sheet4.Cells(1, 1).Value 'A1
Case 1       ' Nothing
Application.ScreenUpdating = False
Case 2       ' A
Case 3       ' B
Case 4       ' C
Case 5       ' D
Dim strFileName As Variant
Dim strPath As String
Dim wkbNeu As Workbook
Dim wksQ As Worksheet
Application.ScreenUpdating = False
strPath = Sheets("11").Range("E93")
If Right(strPath, 1)  "\" Then strPath = strPath & "\"
strFileName = Sheets("11").Range("J91")
Set wksQ = Sheets("15")
Set wkbNeu = Workbooks.Add(1)
wksQ.Range("A1:F575").Copy
With wkbNeu
.Sheets(1).Cells(1, 1).PasteSpecial xlPasteValues
.SaveAs strPath & strFileName, xlOpenXMLWorkbook
.Close
End With
End Select
ThisWorkbook.VBProject.Name = "Workbook"
End Sub
Dies funktioniert nun wunderbar. Ich musste nur noch mein Projekt umbenennen, da es blöderweise Workbook heisst. (Das mit den Cases müsst ihr nicht beachten, das ist nun für meinen nexten Step)
Besten Dank!
Gruss Nico
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige