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

Comment löschen per VBA

Forumthread: Comment löschen per VBA

Comment löschen per VBA
14.05.2003 08:38:56
Franz W.
Guten Morgen Fachleute,

ich möchte per VBA in einem Bereiche alle vorhandenen Kommentare löschen, und versuche das mit folgendem Code:

Macht er aber nicht, sondern bringt Laufzeitfehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht.

Könnt Ihr mir bitte helfen, was hier zu tun ist?

Vielen Dank schon mal im Voraus

Gruß
Franz

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Comment löschen per VBA
14.05.2003 08:51:48
Forum
Hallo Franz

Gruß Hajo
Re: Comment löschen per VBA: Nachtrag:
14.05.2003 08:52:29
Franz W.
Mit folgendem Code kommt zwar keine Fehlermeldung, er läuft ohne Unterbrechung durch. ABER er löscht die Kommentare auch nicht, lässt sie einfach stehen.

Ist wohl die falsche Abfrage?!? Aber in dieser Richtung müsste es wohl sein?!?


Schreibe ich dagegen "Comment" statt "cmt", also:

Range(Cells(t, 3), Cells(t, 33)).Comment.Delete

bringt er Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt.

Weiß einer weiter??

Gruß
Franz



Anzeige
Re: Comment löschen per VBA
14.05.2003 08:54:49
Franz W.
Hallo Hajo,

Super! Vielen Dank, das isses! In die Richtung hab ich gar nicht gedacht. Aber so klappt's!

Vielen Dank und Gruß
Franz

Re: Comment löschen per VBA: Nachtrag:
14.05.2003 08:56:04
Forum
Hallo Franz

mal nur ein kleiner Hinweis. Hier im Forum gibt es den Schalter "Offen", womit offene Beiträge angezeigt werden. Für Leute die nur zu bestimmten Zeiten am Computer sind ist dies eine gute Funktion um einen überblick über die offenen Probleme zu bekommen. Durch Deinen Beitrag wäre jetzt Dein Beitrag aus offen raus.

Gruß Hajo

Anzeige
Re: Comment löschen per VBA
14.05.2003 08:57:00
Forum
Hallo Franz

manchmal hilft auch der Makrorecorder.

Gruß Hajo

Upps! Stimmt! Hab ich nicht dran gedacht! Danke ot
14.05.2003 08:58:12
Franz W.
Erklärung
14.05.2003 09:02:47
Franz W.
Hallo Hajo,

an diese Richtung hab ich nicht gedacht aus folgendem Grund: ich hatte vorher folgenden Code, der auch geklappt hat:

Nun wollte ich die Kommentare aber nicht mehr zellenweise sondern gleich zeilenweise löschen. Und darum war ich nur verbohrt darauf, aus dem alten Code den neuen abzuleiten. Und drum hab ich auch den Rekorder nicht gedacht. Aber selbstverständlich hast Du recht damit.

Gruß
Franz

Anzeige
;
Anzeige

Infobox / Tutorial

Kommentare in Excel per VBA löschen


Schritt-für-Schritt-Anleitung

Um in Excel alle Kommentare per VBA zu löschen, kannst du den folgenden Code verwenden:

Sub AlleKommentareLoeschen()
    Dim cmt As Comment
    For Each cmt In ActiveSheet.Comments
        cmt.Delete
    Next cmt
End Sub
  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu starten.
  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.
  3. Füge den oben genannten VBA-Code in das Modul ein.
  4. Schließe den VBA-Editor und kehre zu Excel zurück.
  5. Drücke ALT + F8, wähle AlleKommentareLoeschen aus und klicke auf Ausführen.

Dieser Code löscht alle Kommentare im aktiven Arbeitsblatt. Wenn du nur Kommentare in einem bestimmten Bereich löschen möchtest, kannst du den Code anpassen.


Häufige Fehler und Lösungen

  • Laufzeitfehler 438: Dieser Fehler tritt auf, wenn du versuchst, eine Methode oder Eigenschaft zu verwenden, die für das Objekt nicht unterstützt wird. Stelle sicher, dass du die richtige Syntax verwendest, wie im obigen Beispiel gezeigt.

  • Laufzeitfehler 91: Dieser Fehler bedeutet, dass eine Objektvariable nicht gesetzt ist. Vergewissere dich, dass du auf ein vorhandenes Kommentarobjekt zugreifst. Eine häufige Ursache ist die Verwendung von Range(Cells(t, 3), Cells(t, 33)).Comment.Delete, die nicht korrekt ist.


Alternative Methoden

Wenn du die Kommentare nicht über VBA löschen möchtest, kannst du auch manuell vorgehen:

  1. Markiere die Zelle mit dem Kommentar.
  2. Rechtsklicke und wähle Kommentar löschen aus dem Kontextmenü.
  3. Alternativ kannst du den Überprüfen-Tab in der Ribbon-Leiste verwenden, um alle Kommentare zu verwalten.

Eine andere Möglichkeit ist die Verwendung des Makrorecorders, um sich den VBA-Code für das Löschen von Kommentaren aufzeichnen zu lassen.


Praktische Beispiele

  • Alle Kommentare in einem bestimmten Bereich löschen:
Sub KommentareInBereichLoeschen()
    Dim cmt As Comment
    Dim rng As Range
    Set rng = Range("A1:C10") ' Definiere den Bereich
    For Each cmt In rng.Comments
        cmt.Delete
    Next cmt
End Sub

Dieser Code löscht alle Kommentare innerhalb des angegebenen Bereichs von Zellen.

  • Excel alle Notizen löschen: Wenn du Notizen (nicht Kommentare) löschen möchtest, kannst du den folgenden Code verwenden:
Sub AlleNotizenLoeschen()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    ws.Cells.ClearComments
End Sub

Tipps für Profis

  • Nutze den Makrorecorder, um zu verstehen, wie VBA funktioniert. Dies ist besonders hilfreich, wenn du noch nicht mit VBA vertraut bist.
  • Kommentiere deinen Code, um die Lesbarkeit zu erhöhen. So kannst du später einfacher nachvollziehen, was jeder Abschnitt macht.
  • Speichere deine Datei regelmäßig, insbesondere bevor du ein neues Makro ausführst, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der Code funktioniert? Führe den Code in einer Testdatei aus, um sicherzustellen, dass er keine unerwarteten Ergebnisse liefert.

2. Was ist der Unterschied zwischen Kommentaren und Notizen in Excel? Kommentare sind interaktive Anmerkungen, die sichtbar werden, wenn du mit der Maus über die Zelle fährst, während Notizen in Excel 365 als dauerhafte Anmerkungen verwendet werden.

3. Kann ich den Code für eine andere Excel-Version verwenden? Ja, der oben gezeigte Code ist mit den meisten Excel-Versionen kompatibel, die VBA unterstützen. Vergewissere dich jedoch, dass du die richtige Syntax verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige