859 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

meine Datei hat 4 Tabellen

Tabelle1
Tabelle2
Tabelle6=HaWa_Test
Tabelle7=HaWa soll später nicht sichtabr sein ausgeblendet

Tabelle6 ist das original mit Formeln
Tabelle7 ist eine exakte Kopie von Tabelle3 nur ohne Formel und Werte.

Ich möchte die Tabelle6 kopieren und in Tabelle7 nur die Werte einfügen, eine neue Datei erstellen und danach die Tabelle7 leeren.

Folgendes konnte ich dem Makrorecorder bei mehreren Anläufen entlocken. Den Speicherpfad hab ich imNetz gefunden.

Sub Makro3()
Application.ScreenUpdating = False
Cells.Select
Selection.Copy
Sheets("HaWa").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("A:EJ").Select
Application.CutCopyMode = False
Worksheets("HaWa").Copy
ActiveWorkbook.SaveAs "C:\Users\CHEF\Desktop\test\" & Format(Range("FE3")) & Format(Range("A1")) & ".xlsx"
ActiveWorkbook.Close False
Sheets("HaWa").Range("clear").ClearContents
Application.ScreenUpdating = True
End Sub


Das Makro funktioniert eigentlich auch nur sieht es zum einen sehr unprofessionell aus und macht zudem unschöne Bewegungen und ich würde das ganze auch gerne aus einem Tabellenblatt meiner Wahl heraus starten. :-) Hat vielleicht jemand einen besseren Tip parat?

Gruß
energun222

13 Antworten

0 Punkte
Beantwortet von
Hallo M.O.

hab mich jetzt hierzu entschieden:

ActiveWorkbook.SaveAs "C:\Users\CHEF\Desktop\test\" & "MHD_Liste_zum_LT_" & Format(Range("A1"), "YYYY_MM_DD") & ".xlsx"


Markiert ist die neue Mappe leider trotzdem noch hab aber gerade eine Anweisung im Netz gefunden.

Application.Goto Reference:="R1C1"


Spricht da etwas dagegen? Mein Code sieht nun so aus:

Sub copyhawamail2()
Application.ScreenUpdating = False
With Worksheets("HaWa")
'kopiert die Tabelle HaWa von A bis EJ
.Range("A:EJ").copy
End With
With Worksheets("HaWa_Mail")
'fügt das vorher kopierte in die Tabelle HaWa_Mail in A1 wieder ein
.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
.Application.CutCopyMode = False
'setzt den Autofilter von A4 bis EJ4
.Range("A4:EJ4").AutoFilter
'ausgeblendete Tabelle HaWa_Mail ist sichbar
.Visible = xlSheetVisible
'ausgeblendete Tabelle HaWa_Mail wird kopiert
.copy
.Application.Goto Reference:="R1C1"
'aus der kopierte ausgeblendete Tabelle HaWa_Mail wird eine neue Datei erstellt
ActiveWorkbook.SaveAs "C:\Users\CHEF\Desktop\test\" & "MHD_Liste_zum_LT_" & Format(Range("A1"), "DD_MM_YYYY") & ".xlsx"
'alte Datei wird nicht geschlossen
ActiveWorkbook.Close False
'der Inhalt der ausgeblendete Tabelle HaWa_Mail wird wieder gelöscht
.Range("clear").ClearContents
'ausgeblendete Tabelle HaWa_Mail ist unsichbar
.Visible = xlSheetHidden
End With
Application.ScreenUpdating = True
End Sub


Kann man das so machen oder können dadurch andere Fehler auftreten


Gruß
energun222
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Energun,

Fehler können immer entstehen, aber so sollte das Makro funktionieren ;-).

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo zusammen,

danke für die Hilfe und Feedback. ich glaube so langsam werd ich Excelabhängig. :-)

Gruß
energun22
...