Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Protokollierung von Zellbereichen

Protokollierung von Zellbereichen
08.05.2008 16:47:00
Zellbereichen
Hallo liebe Excelgemeinde,
folgendes Makro erstellt in einer Zelle einen Kommentar, sobald Sie verändert wird. Es wird der User, Datum und Uhrzeit, der Originaleintrag und der geänderte Wert im Kommentar ausgeworfen.
Leider bezieht sich das auf das ganze Tabellenblatt. Es soll aber nur der Bereich B2:AF30 überwacht werden.
In diesem Bereich werden über ein Makro externe Daten abgerufen. Ich habe es schon mit "If Intersect(Target, Range("B2:AF30")) Is Nothing Then Exit Sub" versucht, aber bei einer erneuten Datenabfrage bekomme ich dann den "Laufzeitfehler 13 - Typen unverträglich" und Zeile ".AddComment "Der Kommentar wurde erzeugt am: " & Date & " - " & Time & Chr(10) & "Vorgenommen durch: " & Application.UserName & Chr(10) & "Originaleintrag: " & .Value" wird gelb markiert.
Zudem gibt es noch folgende Probleme:
1. Wird mehr als eine Zelle markiert und dieser Bereich gelöscht, wird kein Kommentar erstellt. 2. Wenn die aktive Zelle leer ist und ein Wert wird eingegeben, übernimmt er im späteren Kommentar diesen Wert als Originaleintrag, obwohl die Zelle vorher leer war. Das Gleiche macht er mit Zellen, die schon einen Wert enthalten und ich diesen ändere.
Im Anhang als Beispiel eine Testdatei.
https://www.herber.de/bbs/user/52235.xls
Was müßte also im folgenden Code geändert werden, um diese Fehler zu vermeiden?
Vielen Dank schon mal im Voraus für Eure Unterstützung!!! Grüße, Stephan

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strComment As String
If Target.Count > 1 Then Exit Sub
With Target
If .Comment Is Nothing Then
.AddComment "Der Kommentar wurde erzeugt am: " & Date & " - " & Time & Chr(10) & "Vorgenommen  _
durch: " & Application.UserName & Chr(10) & "Originaleintrag: " & .Value
.Comment.Visible = False
Else
strComment = .Comment.Text & Chr(10)
.Comment.Text strComment & Chr(10) & "Änderung vorgenommen am: " & Date & " - " & Time & Chr(10) _
& "Änderung vorgenommen durch: " & Application.UserName & Chr(10) & "Geänderter Inhalt: " & .Value
.Comment.Visible = False
End If
End With
End Sub


24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Protokollierung von Zellbereichen
08.05.2008 17:07:33
Zellbereichen
Hi Stephan,
ich habe den Code jetzt so

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strComment As String
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("B2:AF30 ")) Is Nothing Then Exit Sub
With Target
If .Comment Is Nothing Then
.AddComment "Der Kommentar wurde erzeugt am: " & Date & " - " & Time & Chr(10) & " _
Vorgenommen durch: " & Application.UserName & Chr(10) & "Originaleintrag: " & .Value
.Comment.Visible = False
Else
strComment = .Comment.Text & Chr(10)
.Comment.Text strComment & Chr(10) & "Änderung vorgenommen am: " & Date & " - " & Time & _
Chr(10) & "Änderung vorgenommen durch: " & Application.UserName & Chr(10) & "Geänderter Inhalt: " & .Value
.Comment.Visible = False
End If
End With
End Sub


und dabei wird kein Fehler ausgegeben.
Zu 1.: die Zeile If Target.Count > 1 Then Exit Sub bedeutet, das bei einer Mehrfachauswahl die Prozedur verlassen wird und kein weiterer Code ausgeführt wird. Du musst also in einer Schleife über alle Zellen des selektierten Bereichs laufen und die dort vorhandenen Kommentare entsprechend ändern.
Zu 2.: lösche den Kommentar und erstelle ihn neu.



Anzeige
AW: Protokollierung von Zellbereichen
08.05.2008 20:36:55
Zellbereichen
Hi Beverly,
vielen Dank für Deine schnelle Antwort und dafür, dass Du Dich auf mein nächstes Problem einlassen möchtest!;-) Leider sitze ich jetzt nicht mehr an meinem Arbeitsplatz, darum kann ich erst morgen früh wieder ein Feedback geben. Ansonsten wünsche ich Dir noch einen schönen Abend! Gruß, Stephan

AW: Protokollierung von Zellbereichen
09.05.2008 09:28:10
Zellbereichen
Hallo Beverly,
hab`s ausprobiert und es wird nach erneutem Daten-Abruf keine Fehlermeldung mehr ausgeworfen. War wohl mal wieder ein Bock von mir;-)
Wenn ich den Kommentar aber lösche und ihn anschließend neu erstelle, übernimmt er den geänderten Wert immer noch als "Originaleintrag" Eigentlich müsste eine aktivierte Zelle den Inhalt automatisch zwischenspeichern und bei Veränderung als "Originalwert" übernehmen. Und bei keiner Änderung halt verwerfen. Die Sache mit der Mehrfach-Selektion lass uns zunächst einmal hinten anstellen.
Vielleicht kann man die Protokollierungsgeschichte ja auch ganz anders lösen. Ich habe das schon mal mit einem 2. TabBlatt versucht, wo alle Änderungen in der gesamten Arbeitsmappe protokolliert wurden. Der Nachteil war dann aber, dass das TabBlatt mit dem Protokoll dann noch zusätzlich zu dem Bereich B2:AF30 in die entspr. Tagesdatei verschoben werden mußte. Und so wird halt nur der Bereich B2:AF30 incl. Änderungskommentare gespeichert. Oder hast Du vielleicht eine ganz andere Idee? Wie gesagt: Der Bereich B2:AF30 soll überwacht werden und alle Änderungen mit in die entspr. , tja, eigentlich nur Tagesdatei, übernommen werden. Protokolliert werden soll der "User", "Datum/Uhrzeit", "Wert alt" und "Wert neu". Vielen Dank!! Gruß, Stephan

Anzeige
AW: Protokollierung von Zellbereichen
09.05.2008 09:36:00
Zellbereichen
Hi Stephan,
leider weiß ich nicht, was du mit dieser Aussage meinst

übernimmt er den geänderten Wert immer noch als "Originaleintrag"


So wie der Code jetzt ist, wird bei jeder Änderung der Zelle zu dem bereits vorhandenen Inhalt des Kommentarfeldes das neue Änderungsdatum/Uhrzeit/User hinzugefügt, auch wenn der Zellinhalt gelöscht wurde. Damit ist eine fortlaufende Protokollierung gegeben.



AW: Protokollierung von Zellbereichen
09.05.2008 10:14:00
Zellbereichen
Hi Beverly,
in der verlinkten Excel-Datei habe ich die Zelle I3 von "Ende" (das war der Original-Zellinhalt, als ich die Daten abgerufen habe) manuell in "Anfang" geändert. Im erstellten Kommentar zeigt er mir allerdings "Originaleintrag: Anfang" an. Das stimmt ja nicht, da es vorher ja "Ende" war. Man kann also nicht nachvollziehen, welcher Wert nach Datenabruf und einer Zelländerung in der Zelle stand.
Wenn ich jetzt den Zellwert erneut mehrfach ändere, wirft er mir dies in den aktualisierten Kommentaren ("Geänderter Inhalt") auch richtig aus.
Das heißt: wenn ich also Daten abrufe, wird der erste Wert nach Zelländerung im Kommentar nicht als "Originaleintrag" aufgeführt. Ich hoffe, ich konnte es einigermaßen verständlich rüberbringen...;-) Grüße, Stephan
https://www.herber.de/bbs/user/52253.xls

Anzeige
AW: Protokollierung von Zellbereichen
09.05.2008 11:18:13
Zellbereichen
Hi Stephan,
ich nehme an, dass der Code noch nicht vorhanden war, als du den erste Eintrag ("Ende") gemacht hast? Versuche es mal in einer leeren Zelle.
Ich würde an deiner Stelle den Kommentar noch so formatieren, das er sich automatisch an die Textlänge anpasst

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strComment As String
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("B2:AF30")) Is Nothing Then Exit Sub
With Target
If .Comment Is Nothing Then
.AddComment "Der Kommentar wurde erzeugt am: " & Date & " - " & Time & Chr(10) & " _
Vorgenommen durch: " & Application.UserName & Chr(10) & "Originaleintrag: " & .Value
.Comment.Visible = False
Else
strComment = .Comment.Text & Chr(10)
.Comment.Text strComment & Chr(10) & "Änderung vorgenommen am: " & Date & " - " &  _
Time & Chr(10) & "Änderung vorgenommen durch: " & Application.UserName & Chr(10) & "Geänderter Inhalt: " & .Value
.Comment.Visible = False
End If
.Comment.Shape.TextFrame.AutoSize = True
End With
End Sub




Anzeige
AW: Protokollierung von Zellbereichen
09.05.2008 12:21:41
Zellbereichen
Hi Beverly,
vielen Dank für den Formatierungs-Tipp!! Sieht jetzt richtig sauber aus;-)
Der Code aber lag schon im Tabellenblatt, als ich die Abfrage und die Änderung "Ende" gemacht habe.
In der verlinkten Datei habe ich das Problem noch mal verdeutlicht. Nach manueller Änderung in Zelle I13 steht im Kommentar "Originaleintrag: Produktion Ende". Und das ist ja nicht korrekt, weil zuvor "Artikel Ende"drin stand. Das gleiche Problem existiert auch in der "Test"-Zelle. Die Zelle war zuvor ja leer. Stattdessen wirft er im Kommentar "Originaleintrag: Test" aus. Grüße, Stephan
https://www.herber.de/bbs/user/52256.xls

Anzeige
AW: Protokollierung von Zellbereichen
09.05.2008 16:30:00
Zellbereichen
Hi Stephan,
jetzt weiß ich, was du meinst. Ändere den Code wie folgt

Option Explicit
Dim varUrsprung As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strComment As String
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("B2:AF30")) Is Nothing Then Exit Sub
With Target
If .Comment Is Nothing Then
.AddComment "Der Kommentar wurde erzeugt am: " & Date & " - " & Time & Chr(10) & "  _
Vorgenommen durch: " & Application.UserName & Chr(10) & "Originaleintrag: " & varUrsprung
.Comment.Visible = False
Else
strComment = .Comment.Text & Chr(10)
.Comment.Text strComment & Chr(10) & "Änderung vorgenommen am: " & Date & " - " &  _
Time & Chr(10) & "Änderung vorgenommen durch: " & Application.UserName & Chr(10) & "Geänderter Inhalt: " & varUrsprung
.Comment.Visible = False
End If
.Comment.Shape.TextFrame.AutoSize = True
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
varUrsprung = Target
End Sub




Anzeige
AW: Protokollierung von Zellbereichen
09.05.2008 18:07:00
Zellbereichen
Hallo Beverly,
mal wieder ein "großes Dankschön" für Deine Unterstützung, ohne die ich mit Sicherheit heute noch lange nicht so weit wäre!!! Ich bin leider nicht mehr an meinem Arbeitsplatz, so dass ich es erst Dienstag ausprobieren kann. Ich hoffe, Du genießt jetzt auch bald das schöne Wetter. Ich wünsche Dir auf jeden Fall schöne Pfingsten. Bis Dienstag, Grüße, Stephan

AW: Protokollierung von Zellbereichen
09.05.2008 18:56:55
Zellbereichen
Hi Stephan,
ist doch selbstverständlich, dass ich solange helfe, bis entweder das Problem gelöst ist oder ich aus meinem Kenntnisstand heraus resultierend keinen weiteren Lösungsweg anbieten kann.
Erhole dich gut über das verlängerte Wochenende und geh dann am Dienstag mit neuen Ideen an die Verwirklichung deines Projektes.


Anzeige
AW: Protokollierung von Zellbereichen
10.05.2008 01:30:17
Zellbereichen
Hi Beverly,
so eine Einstellung findet man leider nur noch selten heutzutage! Ich sage auf jeden Fall "Dankeschön", ein schönes, langes Wochenende und ich denke, wir hören von einander. Bis dann......, Gruß, Stephan

Protokollierung von Zellbereichen
13.05.2008 11:04:00
Zellbereichen
Hallo Beverly,
ich hoffe, Du hast ein schönes Pfingstwochenende gehabt. Das Wetter bot zumindest die beste Vorraussetzung dafür.
Ich habe Dein Makro gerade ausprobiert und genauso sollte es sein. Jetzt wird auch der Originaleintrag bei Änderung mit ausgeworfen. Vielen, vielen Dank!!
Tja, damit ist zunächst ein Großteil meines Vorhabens abgeschlossen, jedoch könnte in den nächsten Tagen noch etwas hinzukommen. Unter Umständen würde ich dann hier wieder um Unterstützung bitten...;-) Doch erst mal ein "riesengroßes Dankeschön" an Deine Person und natürlich auch an alle anderen, die mir hier geholfen haben. Ich finde es Klasse, dass es so ein Forum gibt! Zumindest ich als VBA-Anfänger habe hier viel dazu gelernt. Ich hoffe, ich kann bei Bedarf auf Dich (Euch) wieder zurückgreifen. Grüße, Stephan

Anzeige
Protokollierung von Zellbereichen
13.05.2008 14:58:56
Zellbereichen
Hi Beverly,
da bin ich auch schon wieder;-) Eine Frage hätte ich noch: Die Protokollierung funzt genauso wie gewollt.
Aber kann man eine Bearbeitung der Kommentare durch den User (Kontextmenü-Kommentar bearbeiten/löschen) auch unterbinden? Also diese Funktion quasi deaktivieren? Ich weiß, dass man die sog. Indikatoren, also die kleinen roten Dreiecke in den Zellecken ausblenden kann (Extras - Optionen - Ansicht). Eine Protokollierung macht ja schließlich keinen Sinn, wenn der Benutzer die Kommentare bearbeiten/Löschen könnte. Grüße, Stephan

AW: Protokollierung von Zellbereichen
13.05.2008 17:00:33
Zellbereichen
Hi Stephan,
ja, kann man unterbinden

Sub kommentarbearbeitung_aussschalten()
Application.CommandBars("Cell").Controls(8).Enabled = False
Application.CommandBars("Cell").Controls(9).Enabled = False
End Sub



Sub kontextmenue_zuruecksetzen()
Application.CommandBars("Cell").Reset
End Sub


Diese beiden Codes musst du aber aus allen Ereignis-Prozeduren - also Workbook_Open, Deactivate, Activate, Close entsprechend aufrufen, sonst gelten sie auch für andere Arbeitsmappen. Evtl. auch noch für Worksheet_Activate/Deactivate, wenn es sich nur auf ein bestimmtes Tabellenblatt beziehen soll.



Anzeige
Protokollierung von Zellbereichen
13.05.2008 21:53:00
Zellbereichen
Hallo Beverly,
vielen Dank für Deine Antwort! Das Ganze soll sich halt nur auf ein TabBlatt ("PD´s") beziehen. Aber wie meinst Du das mit "aus allen Ereignis-Prozeduren entsprechend aufrufen"? Überall wo Ereignisse wie Workbook_Open, Activate usw. vorkommen, müssen diese Codes mit eingefügt werden (also irgendwo darunter)? Grüße, Stephan

AW: Protokollierung von Zellbereichen
13.05.2008 23:55:00
Zellbereichen
Hi Stephan,
ja, genau das meine ich. Beim Aktivieren/Öffnen müssen die Menüpunkte ausgeschaltet werden und beim Deaktivieren/Schließen wieder eingeschaltet. Rufe da einfach das jeweilige Makro auf. Z.B. unter DieseArbeitsmappe

Private Sub Workbook_Open()
kommentarbearbeitung_aussschalten
End Sub
Private Sub Workbook_Activate()
kommentarbearbeitung_aussschalten
End Sub
Private Sub Workbook_Deactivate()
kontextmenue_zuruecksetzen
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
kontextmenue_zuruecksetzen
End Sub


Und das auch für das Tabellenblatt mit Worksheet_Activate/Deactivate.
Und den eigentlichen Code in einem allgemeinen Modul.



AW: Protokollierung von Zellbereichen
14.05.2008 07:52:35
Zellbereichen
Hi Stephan,
du musst auch den Menüpunkt in der Symbolleiste deaktivieren

On Error Resume Next
Application.CommandBars(1).Controls("Einfügen").Controls("Kommentar").Enabled = False
Application.CommandBars(1).Controls("Einfügen").Controls("Kommentar bearbeiten").Enabled =  _
False


und wieder aktivieren


Application.CommandBars(1).Controls("Einfügen").Reset


Diese Zeilen gehören noch in das jeweilige Makro.
Da du ja mehrere Tabellenblätter in der Mappe hast, war mein Code für das Aktivieren und Öffnen der Arbeitsmappe nicht ganz korrekt, es hängt ja davon ab, welches Tabellenblatt gerade aktiv ist. Er müsste also so aussehen


Private Sub Workbook_Open()
If ActiveSheet.Name = "PD's" Then kommentarbearbeitung_aussschalten
End Sub
Private Sub Workbook_Activate()
If ActiveSheet.Name = "PD's" Then kommentarbearbeitung_aussschalten
End Sub


Ich hänge mal eine Beispielmappe an.
https://www.herber.de/bbs/user/52330.xls



Protokollierung von Zellbereichen
14.05.2008 09:44:00
Zellbereichen
Hi Beverly,
vielen Dank für Deine Antworten! Es funktioniert! Ich habe den unten aufgeführten Code in einem separaten Modul eingefügt und den fett markierten Teil noch mit aufgenommen.
Ich bin davon ausgegangen, dass es sich bei "Application.CommandBars("Cell").Controls(10).Enabled = False" um den Kontextmenü-Punkt "Kommentar ein-/ausblenden" handelt.
Mir ist nämlich folgendes aufgefallen: Wenn man einen Kommentar einblendet und in das Kommentar-Feld klickt, kann man diesen nämlich noch bearbeiten. Wenn ich aber nun was ändere, und das Kontextmenü aufrufe, ist der Befehl "Kommentar ein-/ausblenden aber noch aktiviert und wird auch ausgeführt. Woran könnte das liegen? Grüße, Stephan
Sub kommentarbearbeitung_aussschalten()
Application.CommandBars("Cell").Controls(8).Enabled = False
Application.CommandBars("Cell").Controls(9).Enabled = False
Application.CommandBars("Cell").Controls(10).Enabled = False
On Error Resume Next
Application.CommandBars(1).Controls("Einfügen").Controls("Kommentar").Enabled = False
Application.CommandBars(1).Controls("Einfügen").Controls("Kommentar bearbeiten").Enabled = False
End Sub


Sub kontextmenue_zuruecksetzen()
Application.CommandBars("Cell").Reset
Application.CommandBars(1).Controls("Einfügen").Reset
End Sub



Private Sub Workbook_Open()
If ActiveSheet.Name = "PD's" Then kommentarbearbeitung_aussschalten
End Sub



Private Sub Workbook_Activate()
If ActiveSheet.Name = "PD's" Then kommentarbearbeitung_aussschalten
End Sub


AW: Protokollierung von Zellbereichen
14.05.2008 10:46:00
Zellbereichen
Hi Stephan,
die Zeile würde ich nicht verwenden, denn vielleicht soll der Kommentar ja doch mal aus- oder eingeblendet werden.
Schütze stattdessen das Tabellenblatt. Dann musst du aber auch im Code für das Protokollieren den Blattschutz erst aufheben und dann wieder setzen.


Protokollierung von Zellbereichen
14.05.2008 12:28:00
Zellbereichen
Hi Beverly,
das Gleiche müßte ich dann aber auch für die Datenabfrage machen, oder? Weil ja in diesem (dann geschütztem) Bereich die Datensätze eingefügt werden. Und das geht bei Blattschutz ja nicht.
Das komische ist allerdings, obwohl ich diese Zeile mit im Makro habe, ist der Eintrag "Kommentare ein-/ausblenden" im Kontextmenü trotzdem noch aktiv. Weißt du vielleicht, wo dran das liegen könnte? Muß da anstatt meiner vermuteten "10" evtl. "1593" rein (ID für CommandBarsControls?) Weil, ich würde diese Zeile doch ganz gerne mit aufnehmen. Ich kenne mittlerweile meine Chefs ganz gut...;-)
Gruß, Stephan

Sub kommentarbearbeitung_aussschalten()
Application.CommandBars("Cell").Controls(8).Enabled = False
Application.CommandBars("Cell").Controls(9).Enabled = False
Application.CommandBars("Cell").Controls(10).Enabled = False
On Error Resume Next
Application.CommandBars(1).Controls("Einfügen").Controls("Kommentar").Enabled = False
Application.CommandBars(1).Controls("Einfügen").Controls("Kommentar bearbeiten").Enabled  _
= False
End 

Sub

AW: Protokollierung von Zellbereichen
14.05.2008 12:37:00
Zellbereichen
Hi Stephan,
ja, der Schutz muss auch dann aufgehoben werden .
Die 10 ist schon richtig. Weshalb der Befehl bei dir nicht funktioniert, kann ich leider nicht nachvollziehen. Bei mir (ebenfalls Excel2003) ist der Menüpunkt deaktiviert.
Hast du mal Excel geschlossen und wieder neu gestartet? Manchmal hilft dies.


Protokollierung von Zellbereichen
14.05.2008 13:46:00
Zellbereichen
Hi Beverly,
ich habe den Rechner sogar eben runter- und wieder hochgefahren, aber der Eintrag wird nicht deaktiviert.
Das war doch richtig, oder: der unten aufgeführte Code muß in ein separates Modul und nicht in das Modul vom TabBlatt "PD`s". Was noch seltsam ist: Ich kann die fett markierten Bedingungen alle oder auch nur einzeln auf "True" setzen und im Kontextmenü bleiben "Kommentar bearbeiten" und "Kommentar löschen" deaktiviert.
Ansonsten werde ich das halt mit dem Blattschutz lösen. Ich habe die Datei mal mit angehängt. Gruß, Stephan
https://www.herber.de/bbs/user/52345.xls
Sub kommentarbearbeitung_aussschalten()
Application.CommandBars("Cell").Controls(8).Enabled = False
Application.CommandBars("Cell").Controls(9).Enabled = False
Application.CommandBars("Cell").Controls(10).Enabled = False

On Error Resume Next
Application.CommandBars(1).Controls("Einfügen").Controls("Kommentar").Enabled = False
Application.CommandBars(1).Controls("Einfügen").Controls("Kommentar bearbeiten").Enabled = False
End Sub


Sub kontextmenue_zuruecksetzen()
Application.CommandBars("Cell").Reset
Application.CommandBars(1).Controls("Einfügen").Reset
End Sub



Private Sub Workbook_Open()
If ActiveSheet.Name = "PD's" Then kommentarbearbeitung_aussschalten
End Sub



Private Sub Workbook_Activate()
If ActiveSheet.Name = "PD's" Then kommentarbearbeitung_aussschalten
End Sub


AW: Protokollierung von Zellbereichen
14.05.2008 18:22:17
Zellbereichen
Hi Stephan,
Im Codemodul DieseArbeitsmappe fehlt noch dieser Code

Option Explicit
Private Sub Workbook_Open()
If ActiveSheet.Name = "PD's" Then kommentarbearbeitung_aussschalten
End Sub
Private Sub Workbook_Activate()
If ActiveSheet.Name = "PD's" Then kommentarbearbeitung_aussschalten
End Sub
Private Sub Workbook_Deactivate()
kontextmenue_zuruecksetzen
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
kontextmenue_zuruecksetzen
End Sub


Und im Codemodul des Tabellenblattes PD's fehlt dieser Code (ist aber nur erforderlich, wenn mehrere Tabellenblätter in der Arbeitsmappe sind)


Private Sub Worksheet_Activate()
kommentarbearbeitung_aussschalten
End Sub
Private Sub Worksheet_Deactivate()
kontextmenue_zuruecksetzen
End Sub


Wenn du einzelne Menüpunkte wieder reaktivieren willst, musst du das Konextmenü erst zurücksetzen (Reset) und dann die einzelnen Menüpunkte erneut abschalten, die nicht angezeigt werden sollen.



Danke!
15.05.2008 09:17:00
Stephan
Hallo Beverly,
funktioniert einwandfrei! Auch der Kontextmenüpunkt "Kommentare ein-/ausblenden" wird nun deaktiviert. Vielen, vielen Dank für Deine Unterstützung!!! Ich hoffe, ich kann mich bei Bedarf mal wieder an Dich/Euch wenden. Grüße, Stephan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige