AW: Makro zum Löschen von Tabellenblättern und Inhalte
11.11.2012 18:31:44
Tabellenblättern
Hallo Mustermann,
meiner Meinung nach macht es wenig Sinn, die Vorher-Tabellen mit mehreren 10000 Formeln vorzubelegen. Hier kann man die Formeln auch an den tatsächlichen Datenbestand anpassen.
Ansonsten hier die beiden Makros mit den notwendigen Anpassungen, so dass in Werte nur Spalten B:D Inhalte gelöscht und wieder aufgefüllt werden und bei Datengrdl jeweils alle Daten ab Spalte B bis zu letzten Spalte kopiert/gelöscht werden.
Gruß
Franz
Private Sub Aufbereiten_Werte()
Dim wks_Q As Worksheet
Dim wks_Z As Worksheet
Dim lngZeile As Long
Set wks_Q = Worksheets("Werte aktuell")
Set wks_Z = Worksheets("Werte vorher")
With wks_Z
lngZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
.Range(.Cells(1, 2), .Cells(lngZeile, 4)).ClearContents
With wks_Q
lngZeile = .Cells(.Rows.Count, 3).End(xlUp).Row
.Range(.Cells(1, 2), .Cells(lngZeile, 4)).Copy
wks_Z.Cells(1, 2).PasteSpecial Paste:=xlPasteValues
End With
End With
With wks_Q
.Range("B:D").ClearContents
End With
End Sub
Private Sub Aufbereiten_Datengrdl()
Dim wks_Q As Worksheet
Dim wks_Z As Worksheet, lngZeile As Long, lngSpalte As Long
Set wks_Q = Worksheets("Datengrdl aktuell")
Set wks_Z = Worksheets("Datengrdl vorher")
With wks_Z
lngZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
lngSpalte = .Cells.SpecialCells(xlCellTypeLastCell).Column
If lngSpalte >= 2 Then
.Range(.Cells(1, 2), .Cells(lngZeile, lngSpalte)).ClearContents
End If
With wks_Q
lngZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
lngSpalte = .Cells.SpecialCells(xlCellTypeLastCell).Column
If lngSpalte >= 2 Then
.Range(.Cells(1, 2), .Cells(lngZeile, lngSpalte)).Copy
wks_Z.Cells(1, 2).PasteSpecial Paste:=xlPasteValues
.Range(.Cells(1, 2), .Cells(lngZeile, lngSpalte)).ClearContents
End If
End With
End With
End Sub