Diskussionsgruppe: Tabellenkalkulation
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
Von: BossD Datum: 29.03.2007, 09:58
Antwort 1
von Hajo_Zi vom 29.03.2007, 10:09
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.2007, 10:57
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.2007, 11:18
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.2007, 10:05
Sorry, war im Urlaub, vielen Dank, hat geholfen. MFG D.Boss
|
07121
07122
07123
07124
07125
07126
07127
07128
|