Erstellen Sie eine neue Arbeitsmappe, und kopieren von Arbeitsblättern über
Das problem in Frage dreht sich um eine Arbeitsmappe, die enthält alle meine Daten und Pannen, verteilt in einer Tonne von Arbeitsblättern. Ich versuche Makros einrichten, um den copy select Blätter in eine neue Arbeitsmappe. Ich denke, mein größtes problem ist immer die Codierung Recht für die Ziel-Arbeitsmappe, da der name beinhaltet eine Datums-Zeichenfolge, die ändert sich jeden Tag. Den code habe ich so weit, um einfach erstellen Sie die neue Arbeitsmappe, und schließen Sie es ist:
Sub NewReport()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
MyDate = Date
Dim dateStr As String
dateStr = Format(MyDate, "MM-DD-YY")
Set W = Application.Workbooks.Add
W.SaveAs Filename:="N:\PAR\" & "New Report Name" & " " & dateStr, FileFormat:=51
Application.ScreenUpdating = True
Application.DisplayAlerts = True
ActiveWorkbook.Close True
End Sub
Dies funktioniert und tut was ich will in Bezug auf erstellen Sie das neue Dokument, benennen Sie es so, wie es sollte benannt werden, und am Ende schließen. Was ich Hilfe brauche ist, dass im mittleren Teil zum kopieren bestimmte Blätter aus der ursprünglichen Arbeitsmappe zu diesem neuen. Was ich dachte, war entlang der Linien von:
With Workbooks("Original Workbook.xlsm")
.Sheets(Array("Sheet1", "Sheet2")).Copy_ Before:=Workbooks("destination.xls").Sheet1
Oder zumindest einige array-Typ, genau das zu bekommen was ich will, zu übernehmen. Der größte Knackpunkt ist immer die Ziel-Arbeitsmappe-Pfadangabe korrekt ist. Jede Beratung über die einzelnen Stücke dieses kleine Projekt oder das ganze wird sehr geschätzt. Danke!
EDIT: ich muss auch darauf hinweisen, dass die neue Arbeitsmappe erzeugt werden muss, werden einfach nur alte excel-format (.xlsx). Keine Makros, keine Sicherheits-Warnung für die automatische Aktualisierung von links oder aktivieren von Makros, zip. Nur ein schlichtes Buch der Blätter, die ich sagen, es dort zu setzen.
InformationsquelleAutor Jon | 2011-09-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok. Ich habe endlich es funktioniert jetzt. Die Blattnamen übernommen werden (sonst müsste ich hinter gehen und benennen Sie diese); es speichert eine Kopie an Sie gesendet werden und eine Kopie für unser Archiv-Ordner; und das neue Arbeitsmappen erhalten keine popup zum aktivieren von Makros oder aktualisieren von links. Der code, den ich schließlich ließ sich auf (das könnte wahrscheinlich werden getrimmt ein wenig) ist:
Hoffe, das wird helfen, jemand anderes mit dem gleichen Problem!
InformationsquelleAutor Jon
Ihre Kopie-Zeile sollte
InformationsquelleAutor chris neilsen
Können Sie Ihren code vollständig variable statt harcoding "Orginal-Arbeitsmappe.xlsm" und die Tabelle1 und Tabelle2 Namen
Wenn du zwei Arbeitsmappe Variablen Sie können dann legen Sie die ActiveWorbook (D. H. der aktuell ausgewählten Excel) Arbeitsmappe kopiert werden soll (alternativ können Sie es auf eine geschlossene Arbeitsmappe, bestehende öffnen mit dem Namen Arbeitsmappe, oder die Arbeitsmappe, die den code enthält).
Mit einem standard -
erhalten Sie eine neue Arbeitsmappe, mit der Anzahl von Platten installiert, die wie pro Ihre Standard-option (normnally 3 Blätter)
Durch die Angabe
wird eine neue Arbeitsmappe erstellt, mit nur einem Blatt
Und beachten Sie, deaktivierte ich die Makros einstellen EnableEvents auf False, aber es wäre ungewöhnlich, application events beim erstellen von Arbeitsmappen
Dann beim kopieren des Blattes verwenden
vermeiden hartzucodieren die Blatt-Namen kopiert werden. Dieser code kopiert die zwei leftmoast Blätter unabhängig von der Benennung
Schließlich das erste Blatt ist entfernt, so dass Sie mit einer neuen Datei, die nur die zwei kopierte Blätter im inneren
Auf welcher Zeile Jon?
Gut, jetzt ist es eine neue Fehlermeldung - es sagt, es kann nicht kopieren Sie die Arbeitsblätter, weil das Ziel nicht die gleiche Anzahl von Zeilen und Spalten, und dass, wenn ich die Daten verschieben möchten dann sollte ich kopieren und einfügen.
Jon, bist du mit dem code oben ist? Er kopiert die ganzen Blätter so verstehe ich nicht, warum es wäre eine Nachricht, über Zeilen und Spalten (dies ist in der Regel eine Reihe kopieren Ausgabe).
Das einzige, was ich geändert habe war die den Dateipfad für die SaveAs-Zeile. Ich ließ alles andere sind die gleichen, um sicherzustellen, dass ich nicht ändern etwas falsch. Ich habe versucht zu Lesen, um über die Fehlermeldung und das beste, das ich sagen kann, ist, dass vielleicht, es hat etwas zu tun mit dem speichern als .xlsx exptension statt .xlms. Immer noch hantieren mit ihm, aber ohne Glück.
InformationsquelleAutor brettdj