Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Inhalt auf anderem Tabellenblatt löschen

VBA - Inhalt auf anderem Tabellenblatt löschen
Timonski
Servus
wie kann ich per Makro, Zellen auf einem anderen Tabellenblatt löschen...
bzw. ein Makro auf einem anderen Tabellenblatt starten?
Danke...
Timonski
Anzeige
AW: VBA - Inhalt auf anderem Tabellenblatt löschen
19.07.2010 09:24:33
Tino
Hallo,
hier zwei Varianten.
Sub Loesche_Auf_Andere_Tabelle()
'alles löschen, Formatierung geht verloren 
Sheets("Tabelle2").Range("A1:D100").Clear

'nur Inhalt löschen, Formatierung bleibt erhalten 
Sheets("Tabelle2").Range("A1:D100").ClearContents
End Sub
Gruß Tino
Anzeige
AW: VBA - Inhalt auf anderem Tabellenblatt löschen
19.07.2010 09:28:05
Timonski
Vielen Vielen DANK für die schnelle Antwort...
AW: VBA - Inhalt auf anderem Tabellenblatt löschen
19.07.2010 09:32:28
Timonski
und wir könnte man ein Makro auf einem anderen Tabellenblatt starten?
danke...
AW: VBA - Inhalt auf anderem Tabellenblatt löschen
19.07.2010 10:37:36
Tino
Hallo,
dies geht z.Bsp. so
Application.Run "Tabelle2.MeinMakro"
Gruß Tino
Anzeige
AW: VBA - Inhalt auf anderem Tabellenblatt löschen
19.07.2010 10:30:17
Timonski
also mein VBA Code sieht jetzt folgender maßen aus...
Private Sub INHALTE_LÖSCHEN_KOMPLETT_Click()
Sheets("Zustandsbericht").Range("D7,B10,B12,B14,B16,B18,B20,B22,B24,B26,B28,B30,B32,B34,B36, _
B39,E35:E36,E33:E34,E31:E32,E15:E16").ClearContents
Sheets("BauStellBuch").Range("M26:AI45,U25:AI26,E25:E45").ClearContents
End Sub
und das geht nicht...
das mit dem "Starten eines Makros auf einer anderen Seite" wäre mir Sympatischer...
Anzeige
weis nicht was Du hast, funktioniert doch!? oT.
19.07.2010 10:46:19
Tino
AW: weis nicht was Du hast, funktioniert doch!? oT.
19.07.2010 10:57:14
Timonski
ah ok...
ich hab nie auf die Fehlermeldung geachtet... sonder nur auf debuggen geklickt...
"Kann Teil einer verbunden Zelle nicht ändern"...
ich habe Zellen verbunden...
aber ich habe doch die 2 Methode genommen, wo kein Format gelöscht wir bzw. gändert...
--------------------------------------------------
ok funktioniert jetzt... D7:D8 die ist verbunden
aber... warum funktioniert das Makro dann auf der Seite, auf der die daten sind...
und warum funktioniert es nicht per Makro von einer anderen Seite?
hab ja nur den RANGE befehl kopiert...
VIELEN VIELEN DANK...
Anzeige
Grundlegendes?
19.07.2010 11:26:27
Erich
Hi Timonski (Vorname?),
"Kann Teil einer verbunden Zelle nicht ändern"
"aber ich habe doch die 2 Methode genommen, wo kein Format gelöscht wir bzw. gändert..."
In der Fehlermeldung steht doch nichts von Formaten, oder?
Du hast versucht, den WERT einer Zelle zu ändern, die mit einer anderen Zelle verbunden ist.
Dann spuckt Excel die Fehlermeldung aus.
Was meinst du mit "Seite"? Tabellenblatt?
Mir scheint es da grundlegende Missverständnisse zu geben.
Ein Makro wird (normalerweise) nicht "von einem Tabellenblatt aus" oder "auf einem Tabellenblatt" gestartet.
Es wird einfach gestartet - durch "Extras - Makro - Makros - ...."
oder durch einen Button in der Funktionsleiste oder auf einem Blatt, oder durch ein Ereignis, oder...
Und was das Makro dann tut, muss auch nichts mit einem Tabellenblatt zu tun haben.
Ein Makro kann z. B. eine Mappe speichern oder auch einfach nur eine Meldung ausgeben.
Es kann natürlich auch Daten in einem Tabellenblatt ändern, auch in vielen Tabellenblättern.
Normalerweise steht ein Makro - ganz unabhängig von irgendwelchen Tabellenblättern -
in einem normalen Modul (z.B. Modul1 genannt), das zu einer Arbeitsmappe gehört.
Es gibt auch Makros, die zu Tabellenblättern gehören.
Die stehen dann im Klassenmodul der Tabelle, im Code der Tabelle.
Dein Makro sieht nicht danach aus.
Wo stehen deine Makros?
Wie werden deine Makros gestartet?

"warum funktioniert das Makro dann auf der Seite, auf der die daten sind...
und warum funktioniert es nicht per Makro von einer anderen Seite?"
Was genau passiert denn, wenn "es nicht funktioniert"?
Gibt es eine Fehlermeldung?
Was meinst du mit "von einer anderen Seite"?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
nicht nur eine Zelle aus Verbund
19.07.2010 11:31:45
Tino
Hallo,
gib für die verbundenen Zellen D7:D8 nicht nur die D7 an sondern D7:D8.
Sheets("Zustandsbericht").Range("D7:D8,B10,B12,B14,B16,B18,B20,B22," & _
"B24,B26,B28,B30,B32,B34,B36,B39,E35:E36," & _
"E33:E34,E31:E32,E15:E16").ClearContents
Gruß Tino
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA: Inhalt auf anderem Tabellenblatt löschen


Schritt-für-Schritt-Anleitung

Um den Inhalt eines Tabellenblatts mit VBA zu löschen, kannst Du die folgenden Schritte befolgen:

  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:
    • Rechtsklicke im Projektfenster auf "VBAProject (DeineDatei.xlsx)".
    • Wähle "Einfügen" und dann "Modul".
  3. Gib den folgenden VBA-Code ein, um den Inhalt eines bestimmten Bereichs auf einem anderen Tabellenblatt zu löschen:
Sub Loesche_Auf_Andere_Tabelle()
    ' Alles löschen, Formatierung geht verloren
    Sheets("Tabelle2").Range("A1:D100").Clear

    ' Nur Inhalt löschen, Formatierung bleibt erhalten
    Sheets("Tabelle2").Range("A1:D100").ClearContents
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem Du auf "Entwicklertools" > "Makros" klickst und das gewünschte Makro auswählst.

Häufige Fehler und Lösungen

  • Fehler: "Kann Teil einer verbundenen Zelle nicht ändern"
    Dieser Fehler tritt auf, wenn Du versuchst, den Inhalt einer verbundenen Zelle zu ändern. Achte darauf, den gesamten Zellbereich anzugeben, z.B. D7:D8 anstelle von nur D7.

  • Fehler: Makro funktioniert nicht auf anderem Tabellenblatt
    Stelle sicher, dass Du den korrekten Namen des Tabellenblattes verwendest. Wenn das Makro nicht ausgeführt wird, überprüfe auch, ob das Makro im richtigen Modul gespeichert ist.


Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch manuell den Inhalt eines Tabellenblatts löschen:

  1. Markiere den gewünschten Zellbereich.
  2. Drücke Entf, um den Inhalt zu löschen.
  3. Um ein ganzes Tabellenblatt zu leeren, kannst Du mit der rechten Maustaste auf den Tab des Tabellenblatts klicken und "Löschen" auswählen. Beachte jedoch, dass dies das gesamte Blatt entfernt.

Praktische Beispiele

Hier sind einige praktische VBA-Beispiele, um den Inhalt eines Tabellenblatts zu löschen:

  1. Komplettes Löschen des Inhalts eines bestimmten Bereichs:
Sheets("Tabelle2").Range("A1:D100").ClearContents
  1. Löschen von Inhalten in mehreren Zellen:
Sheets("Zustandsbericht").Range("D7:D8,B10,B12").ClearContents
  1. Starten eines Makros auf einem anderen Tabellenblatt:
Application.Run "Tabelle2.MeinMakro"

Tipps für Profis

  • Benutze Clear für vollständiges Löschen: Wenn Du nicht nur den Inhalt, sondern auch die Formatierung eines Tabellenblatts entfernen möchtest, verwende Clear anstelle von ClearContents.
  • Vermeide Fehler mit verbundenen Zellen: Wenn Du mit verbundenen Zellen arbeitest, stelle sicher, dass Du den gesamten Bereich angibst.
  • Testen des Makros: Führe das Makro in einer Testdatei aus, um sicherzustellen, dass es wie gewünscht funktioniert, bevor Du es auf wichtige Daten anwendest.

FAQ: Häufige Fragen

1. Wie lösche ich den Inhalt eines gesamten Tabellenblatts mit VBA?
Du kannst Sheets("Tabelle2").Cells.Clear verwenden, um alles auf dem Tabellenblatt zu löschen.

2. Warum funktioniert mein Makro nicht auf einem anderen Tabellenblatt?
Überprüfe, ob der Tabellenblattname korrekt ist und ob das Makro im richtigen Modul gespeichert wurde.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige