Kommentar Makro
Servus,
ich habe hier folgendes Makro das mir in dem ausgewählten Zellbereich einen Kommentar einfügt wenn etwas in der Zelle eingetragen ist.
Nun habe ich das Problem das ich mehrere Tabellenblätter in einer Tabelle habe und ich müsste dieses Makro auf alle Tabellenblätter anwenden.
Private Sub CMD_KE_Click()
Dim Zelle As Range
On Error Resume Next
For Each Zelle In Range("A1:AH1")
If Range(Zelle.Address) <> "" Then
If Not Range(Zelle.Address).Comment Is Nothing Then _
Range(Zelle.Address).ClearComments
With Range(Zelle.Address)
.AddComment.Text Text:=Range(Zelle.Address) & Chr(10) & ""
End With
Else
Range(Zelle.Address).ClearComments
End If
Next
End Sub
Ich gehe davon aus das ich die Zeile "For Each Zelle In Range" ändern muss jedoch weiß ich nicht wie ich dies nun auf mehrere Tabellenblätte anwenden kann.
Die Tabellenblätter sind von Januar bis Dezember durchbenannt und in der Zeile 8 müsste das Makro angewendet werden.
Hoffe das mir jemand weiterhelfen kann.
Grüße
Daniel
Antwort schreiben
Antwort 1 von Hajo_Zi vom 29.03.2019, 10:09 Options
Hallo Daniel,
mehrere Tabellen in einen Tabellenblatt, soll mehrere Tabellen in einer Datei?
Dein Code wird durch ein CommandButton ausgelöst? Der ist nun ja nur in einer Tabelle. Mache daraus ein Makro in einem Modul und rufe es über Extra, Makro auf.
Gruß Hajo
Antwort 2 von BossD vom 29.03.2019, 10:57 Options
Tut mir leid, habe mich unklar ausgedrückt. Ja, ich habe mehrere Tabellen in einer Datei. Ich möchte das dass Makro bei einmaliger Aktivierung alle Tabellenblätter in dieser Datei bearbeitet.
Dabei spielt es wohl keine Rolle ob ich das über einen Button mache oder über das Menü.
Trotzdem vielen Dank schon mal
Servus
Daniel
Antwort 3 von Hajo_Zi vom 29.03.2019, 11:18 Options
Hallo Daniel,
die Aufgabehätteich aus Deiner Beschreibung nicht gelesen.
Option Explicit
Private Sub CMD_KE_Click()
Dim WsTabelle As Worksheet
Dim Zelle As Range
On Error Resume Next
For Each WsTabelle In Sheets
With WsTabelle
For Each Zelle In .Range("A1:AH1")
If .Range(Zelle.Address) <> "" Then
If Not .Range(Zelle.Address).Comment Is Nothing Then .Range(Zelle.Address).ClearComments
With .Range(Zelle.Address)
.AddComment.Text Text:=.Range(Zelle.Address) & Chr(10) & ""
End With
Else
.Range(Zelle.Address).ClearComments
End If
Next
End With
Next WsTabelle
End Sub
Gruß Hajo
Antwort 4 von BossD vom 17.04.2019, 10:05 Options
Sorry, war im Urlaub,
vielen Dank, hat geholfen.
MFG
D.Boss