Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Kommentar bearbeiten sperren oder deaktivieren

1,403 views
Skip to first unread message

Fred Otto

unread,
Sep 15, 2011, 6:12:11 AM9/15/11
to
Hallo,

wie kann ich in Excel 2003 erreichen, dass ein Kommentar nicht noch
einmal bearbeitet werden kann?
Den Befehl "Kommentar bearbeien" zu deaktivieren, ist mir bisher nicht
gelungen. Es darf auch mit VBA bewerkstelligt werden, wenn es nicht
einfacher geht.

Vielen Dank im Voraus

Fred Otto

Claus Busch

unread,
Sep 15, 2011, 11:09:54 AM9/15/11
to
Hallo Fred,

Am Thu, 15 Sep 2011 12:12:11 +0200 schrieb Fred Otto:

> wie kann ich in Excel 2003 erreichen, dass ein Kommentar nicht noch
> einmal bearbeitet werden kann?
> Den Befehl "Kommentar bearbeien" zu deaktivieren, ist mir bisher nicht
> gelungen. Es darf auch mit VBA bewerkstelligt werden, wenn es nicht
> einfacher geht.

wenn der Kommentar ausgeblendet ist, könntest du die Anzeige des
Kontextmenüs für die Zellen mit Kommentaren mit VBA unterbinden:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)

If Not Target.Comment Is Nothing Then
Application.CommandBars("Cell").Enabled = False
Else
Application.CommandBars("Cell").Enabled = True
End If

End Sub


Mit freundlichen Grüßen
Claus Busch
--
Win XP Prof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Fred Otto

unread,
Sep 15, 2011, 5:17:56 PM9/15/11
to
Vielen Dank, Claus, für die schnelle Antwort. Die Kontextmenüs sind
verschwunden, aber leider sind die Kommentare immer noch editierbar. Ich
hatte vergessen zu schreiben, dass alle Kommentare in dieser Tabelle
mittels einer UserForm eingefügt werden. Diese Userform "setzt sich
durch" und überschreibt einen bestehenden Kommentar. Damit hatte ich
nicht gerechnet. Das soll aber verhindert werden.
Gibt es vielleicht doch noch eine Möglichkeit, die bestehenden
Kommentare uneditierbar zu machen?
Den Zellen, die noch keinen Kommentar enthalten, soll aber jederzeit per
UserForm ein Kommentar zugeteilt werden können.

Mit freundlichem Gruß
Fred Otto

Robert Feldmann

unread,
Sep 16, 2011, 2:15:16 PM9/16/11
to
Hallo Fred,

wenn Du doch die Kommentare schon per Userform schreibst, dann prüf doch
einfach vorher ob schon einer drin steht?

So in der Art:

Sub test()
Dim a
Set a = Sheets(1).Range("A1").Comment
If a Is Nothing Then
MsgBox ("kein Kommentar")
Else
MsgBox ("Kommentar")
End If
End Sub

Danach kannst Du ja entscheiden was passieren soll. Du könntest sogar
die Kommentare wie Logbucheinträge weiterführen bzw. ergänzen.

Robert

> Den Zellen, die noch keinen Kommentar enthalten, soll aber jederzeit per
> UserForm ein Kommentar zugeteilt werden können.
>
> Mit freundlichem Gruß
> Fred Otto
>

--
Nicht was Du sagst ist entscheidend, sondern was verstanden wird.

Fred Otto

unread,
Sep 17, 2011, 2:05:36 AM9/17/11
to
Am 16.09.2011 20:15, schrieb Robert Feldmann:
> Hallo Fred,
>
> wenn Du doch die Kommentare schon per Userform schreibst, dann prüf doch
> einfach vorher ob schon einer drin steht?
>
> So in der Art:
>
> Sub test()
> Dim a
> Set a = Sheets(1).Range("A1").Comment
> If a Is Nothing Then
> MsgBox ("kein Kommentar")
> Else
> MsgBox ("Kommentar")
> End If
> End Sub
>
> Danach kannst Du ja entscheiden was passieren soll. Du könntest sogar
> die Kommentare wie Logbucheinträge weiterführen bzw. ergänzen.
>
> Robert
>

Danke, Robert,

aber ob Kommentare vorhanden sind, wird ja schon durch das rote Dreieck
in den Zellen angezeigt und die Kommentartexte sieht man, sobald man mit
der Maus darüber fährt. Es soll keine Entscheidung getroffen werden, was
passieren soll, sondern es geht nur darum:
1.
einmal eingeschriebene Kommentare dürfen nicht noch einmal mittels der
UserForm oder über das Kontextmenü verändert oder gelöscht werden.

2. nur noch in kommentarlose Zellen dürfen neue Kommentare geschrieben
werden.

Vielleicht sind Deine Programmzeilen genau der richtige Ansatz, aber ich
komme nicht weiter mit der Sperrung der Zelle. Wie könnte man das machen?

Gruß Fred




Robert Feldmann

unread,
Sep 17, 2011, 5:52:29 PM9/17/11
to
Hallo Fred,

ich hatte deinem Posting entnommen, dass Du die Kommentare �ber ein
Userform f�llen l�sst. Wenn im Code der Userform abgefragt wird ob ein
Kommentar drin steht oder nicht, hast Du doch in der Hand was Du damit
machst?

Das Kontextmenue ist das gr��ere Problem. Ich bin mir nicht sicher ob
man das, au�er �ber einschalten des Blattschutzes, abschalten kann.

Im Zweifelsfall Blattschutz verwenden und zum Einf�gen von Inhalten
durch die Userform tempor�r aufheben.

Z.B. (kurze Makroaufzeichnung)

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
bzw.
ActiveSheet.Unprotect

BTW: Du bekommst Excel nicht Wasserdicht. Daf�r ist es auch nicht
gemacht. Es ist eine quick'n dirty Kalkulation.

Wenn Du den User steuern willst musst Du eine Anwendung schreiben. So
"ein bisschen steuern" geht meist schief, "ganz oder gar" nicht hei�t
die Devise. Wobei "ganz" eine Menge Arbeit bedeutet.

Gru�
Robert

Fred Otto

unread,
Sep 18, 2011, 2:03:37 AM9/18/11
to
Am 17.09.2011 23:52, schrieb Robert Feldmann:
> Hallo Fred,
>
Danke, Robert!
> ich hatte deinem Posting entnommen, dass Du die Kommentare über ein
> Userform füllen lässt. Wenn im Code der Userform abgefragt wird ob ein
> Kommentar drin steht oder nicht, hast Du doch in der Hand was Du damit
> machst?
>
Die Sperrung des Kontextmenüs hat Probleme gemacht, wie Du sie schon
beschrieben hattest. Deshalb habe ich mein Ziel anders erreicht. Sobald
ein Kommentar in einer Zelle steht, wird bewirkt, dass die UserForm sich
nicht mehr öffnet.

> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
> Const cRange = "B1:BC20"
>
> If Not Intersect(Target, Range(cRange)) Is Nothing Then
> Cancel = True
> If Target(1, 1).Comment Is Nothing Then
> With UserForm1
> .TextBox2 = Target(1, 1).Value
> .Show
> End With
> End If
> End If
>
> End Sub


Damit ist erst einmal das Überschreiben des Kommentars verhindert. Die
Funktion der rechten Maustaste wird wohl noch auf andere Weise unwirksam
gemacht werden müssen, so dass der User nicht an das Kontextmenü herankommt.
Nochmals vielen Dank.
Ich betrachte diesen Thred vorerst für abgeschlossen.

Mit freunlichem Gruß

Fred
0 new messages