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

Makro zum Löschen von Tabellenblättern und Inhalte

Makro zum Löschen von Tabellenblättern und Inhalte
09.11.2012 13:03:39
Tabellenblättern
Hallo ich habe ein Problem in Excel.
In der angefügten Datei benötige ich ein Makro um das Dateneinlesen zu beschleunigen. Ich habe aber keine Ahnung ob so etwas überhaupt funktioniert.
Die Daten des Tabellenblattes „Werte vorher“ sollen gelöscht werden. (spalte B, C und D)
Dann sollen die Werte des Tabellenblattes „Werte aktuell“ in das Tabellenblatt „Werte vorher“ eingefügt werden. (Spalte B, C und D)
Dann sollen die Werte aus dem Tabellenblatt „Werte aktuell“ gelöscht werden. (Spalte B, C und D)
Analog soll dies mit den Tabellenblättern „Datengrundl aktuell“ und „Datengrundl vorher“ erfolgen. (Hier soll die Formel der Spalte A erhalten bleiben bleiben)
Ferner sollen alle Tabellenblätter die Tabelle heißen („Tabelle1“ bis „Tabelle5“) gelöscht werden.
Außerdem sollen alle Tabellenblätter, die „Daten einfügen“ heißen, geleert werden (nur Zeile 1 soll erhalten bleiben)
Vielen Dank für Eure Hilfe!
https://www.herber.de/bbs/user/82547.xls

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum Löschen von Tabellenblättern und Inhalte
10.11.2012 12:52:44
Tabellenblättern
Hallo Mustermann83,
in der Textdatei sind entsprechende Makros zur Aufbereitung der Daten.
https://www.herber.de/bbs/user/82562.txt
Gruß
Franz

AW: Makro zum Löschen von Tabellenblättern und Inhalte
10.11.2012 20:40:32
Tabellenblättern
Vielen Dank im großen und ganzen funktioniert das Makro.
aber ich habe im Tabellenblatt aktuell und vorher vielmehr Spalten in der richtigen Datei. Leider löscht es nur bis Spalte F so wie in der Beispieltabelle.

AW: Makro zum Löschen von Tabellenblättern und Inhalte
10.11.2012 20:56:05
Tabellenblättern
Außerdem löscht es Spalte A in der Tabelle Datengrdl vorher und die Formeln aus dem Tabellenblatt Werte vorher, wenn die Daten (Spalte B, C, D) nicht weiter als z.B. Zeile 48 gehen. Die Formeln sind aber bis z.B. Zeile 10000 hinterlegt.

Anzeige
AW: Makro zum Löschen von Tabellenblättern und Inhalte
11.11.2012 17:50:16
Tabellenblättern
Hallo,
ich habe mich jetzt noch mal mit dem Makro beschäftigt, das zweite Problem mit den Spalten aus dem Tabellenblatt Werte aktuell und vorher hat sich glaube ich gelöst, weil es immer genauso viele Zeilen kopiert.
Jetzt habe ich nur noch das Problem, mit der Spaltenanzahl in dem Tabellenblatt Datengrdl vorher und nachher, da es ja nicht nur F Spalten wie im Beispiel sind.
Außerdem löscht es mir Spalte A (hier sind Formeln hinterlegt) in dem Tabellenblatt Datengrdl nachher. In der Beispieldatei, die ich hochgeladen habe ist das glaube ich nicht so.
Danke für Eure Hilfe

Anzeige
AW: Makro zum Löschen von Tabellenblättern und Inhalte
11.11.2012 18:01:19
Tabellenblättern
So jetzt habe ich meinen Fehler gefunden, da in der ersten Zelle und Spalte keine Formel hinterlegt war, hat es mir im Tabellenblatt Datengrundl nachher alle Formeln gelöscht. Jetzt besteht nur noch das Problem, das es mir nur die Daten bis Spalte F aus dem Tabellenblatt Datengrdl vorher in Datengrdl nachher kopiert. Welchen Parameter muss ich denn da jetzt im Makro ändern?

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

Anzeige

201 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige