HERBERS Excel-Forum - das Archiv
Makro vor dem einfügen ersteinmal löschen.
lisa

Hallo zusammen
Wie kann ich in mein Makro erweitern, um die Spalten A:D zu löschen bevor neu eingefügt wird?
Ich habe es so versucht, funktioniert leider nicht:
ThisWorkbook.Worksheets("Tabelle1").Range("A1:K200").Copy Destination:=Workbooks.Open("P:\H\Bestände\Rohlings-Dispo SV .xls").Sheets(BlattZaehler).Columns("A:D").ClearContents.Range("A65536") '.End(xlUp).Offset(1, 0)
Das ist das Ursprungsmakro!
ThisWorkbook.Worksheets("Tabelle1").Range("A1:K200").Copy Destination:=Workbooks.Open("P:\H\Bestände\Rohlings-Dispo SV .xls").Sheets(BlattZaehler).Range("A65536") '.End(xlUp).Offset(1, 0)
Wer kann mir hierbei helfen
Gruß Lisa

AW: Makro vor dem einfügen ersteinmal löschen.
Hajo_Zi

Hallo Lisa
ThisWorkbook.Worksheets("Tabelle1").Columns("A:D").ClearContents
so wird der Bereich gelöscht.

AW: Makro vor dem einfügen ersteinmal löschen.
lisa

Hallo und danke für die schnelle Antwort!
Hmm, ja da habe ich mich wohl nich korrekt ausgedrückt. Oder ich habe dich falsch verstanden.
Wenn ich in ThisWorkbook.Worksheets("Tabelle1").Columns("A:D").ClearContents lösche, lösche ich doch meine kopierten Daten die erst noch einfügen will.
In der Mappe in der ich mich befinde, rufe ich eine weitere Mappe auf in dem mein Macro steckt. mit diesem bereite ich mir meine Daten auf und kopiere die Daten und rufe meine Zielmappe auf um sie dort in eine Tabelle nach meiner Wahl beginnend in A1 einfüge. Hier möchte ich gern vorher alle darin befindlichen Daten aus den Spalten A:D löschen.
Ich füge noch einmal den gesamten Code an. Vieleich erklärt sich das bessser.
Sub Makro2()
Columns("D:D").Delete Shift:=xlToLeft
Columns("E:AI").Delete Shift:=xlToLeft
Range("A1:K" & Cells(Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy  _
Destination:= _
ThisWorkbook.Worksheets("Tabelle1").Range("A65536").End(xlUp).Offset(1, 0)
Dim wkb As Workbook
For Each wkb In Workbooks
If Not wkb.Name = ThisWorkbook.Name Then wkb.Close SaveChanges:=False ' bis hierhin bereite  _
ich meine Daten auf und hole sie mir in das Workbook in dem mein Macro steckt. Die Ursprungsdatei schlisse ich
Next
Dim BlattZaehler As Byte
BlattZaehler = Application.InputBox("Bitte Tabellen-Nummer" & vbCr & "4      =Lager 100 bis  _
952" & vbCr & "5      =Lager 380" & vbCr & "6      =Lager 680" & vbCr & "   eingeben!")
If BlattZaehler <> 1 And BlattZaehler <> 2 And BlattZaehler <> 3 And BlattZaehler <> 4 And  _
BlattZaehler <> 5 And BlattZaehler <> 6 And BlattZaehler Then
MsgBox "Falsche Auswahl"
Else ' hier wird vorab gefragt in welche Tabelle meiner Zieldatei die Daten eingefügt werden  _
sollen.
' hier wird wieder kopiert die Zieldatei geöffnet und eingefügt.
ThisWorkbook.Worksheets("Tabelle1").Range("A1:K200").Copy Destination:=Workbooks.Open("P:\H\ _
Bestände\Rohlings-Dispo SV .xls").Sheets(BlattZaehler).Columns("A:D").End(xlUp).Offset(1, 0)
ThisWorkbook.Close SaveChanges:=False
' Die Datei in dem mein Makro steckt, wird geschlossen und die Zieldatei bleibt mit den neuen  _
Daten offen.
End If
End Sub
Wo kann ich nun einfügen das die Spalten A:D gelöscht werden!
Bitte, ich verlange nicht das hier etwas nachgestellt oder auf meine Arbeitsmappe zugegriffen wird.
Sollte ich mich aus Unwissenheit zu umständlich ausgedrückt haben und aus diesem Grund nicht beantwortet werden können, dann bitte die Anfrage offen stehen lassen. DANKE
lieben Grus Lisa
AW: Makro vor dem einfügen ersteinmal löschen.
Hajo_Zi

Hallo Lisa,
so wie ich das sehe solltest Du erst die Datei aufmachen in die Du das kopieren willst, dann löschen und dann kopieren.
Meine Code mußt Du ja nur an die entsprechende Datei anpassen.
Gruß Hajo