Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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
Inhaltsverzeichnis

Kommentar-Position frei wählbar?

Kommentar-Position frei wählbar?
31.03.2016 16:13:43
Mike
Kommentar-Position frei wählbar?
Hallo,
kann die Position von Kommentaren so eingestellt werden,
dass sie nicht rechts außerhalb des Seitenumbruchs steht?
Für alles Weitere siehe die Anlage?
https://www.herber.de/bbs/user/104687.xlsx
Gruß
Mike

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentar-Position frei wählbar?
31.03.2016 16:25:31
Nepumuk
Hallo,
nein das geht nicht.
Gruß
Nepumuk

AW: Kommentar-Position frei wählbar?
31.03.2016 18:21:46
Mike
Hallo Nepumuk,
danke für die Antwort!
Dass das über normale Excel-Funktionen nicht geht, ist schade!
Aber: Geht so etwas über eine externe und/oder VBA-Programmierung?
Gruß
Mike

Jein!
31.03.2016 18:31:47
Luc:-?
Das kann man machen, Mike,
sogar manuell, aber es fktioniert nicht mit der MouseOver-Automatik, sondern nur bei permanenter Anzeige, was man auch mit einem EreignisMakro per VBA realisieren könnte. Das erfordert aber immer einen Klick in die kommentierte Zelle. Du kannst ja beides kombinieren und bei Bedarf die AutoPosition durch den ZellKlick auf die voreingestellte ändern.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Jein!
31.03.2016 18:57:42
Mike
Hallo Luc,
ich habe 3 Fragen:
Du hast geschrieben, das kann man machen,... sogar manuell! Wie meinst Du das mit dem "sogar manuell"?
Außerdem hast du erwähnt, dass das nur bei permanenter Anzeige funktioniert.
Heißt das, dass alle Kommentare stets angezeigt werden, mit anderen Worten, wenn man eine Mappe öffnet, werden alle Kommentare dauerhaft angezeigt, und man kann sie dann nicht abschalten/ausblenden?
Du hast auch erwähnt, dass eine VBA-Programmierung immer einen Klick in kommentierte Zellen erfordert. Dann ist das für meine Mappen unbrauchbar, weil es in diesen schreibgeschützte Zellen gibt, in die aufgrund des Blattschutzes nicht geklickt werden kann und soll.
Davon abgesehen:
Müsste man eine von mir erwähnte externe und/oder VBA-Programmierung dann pro kommentierte Zelle programmieren, oder könnte man allgemein pro Mappe einstellen, dass alle Kommentare innerhalb von Seitenumbrüchen angezeigt werden sollen?
Gruß
Mike

Anzeige
Das heißt, ...
01.04.2016 00:43:20
Luc:-?
…dass die AutoAnzeige des Kommentars bei MausBerührung nicht positionell beeinflusst wdn kann, nur die Position der PermanentAnzeige. Dazu muss man den Kommentar nur an die gewünschte Position ziehen.
Luc :-?

AW: Das heißt, ...
01.04.2016 12:05:15
Mike
Hallo Luc,
Du hast geschrieben:
"Das heißt, ... dass die AutoAnzeige des Kommentars bei MausBerührung nicht positionell beeinflusst werden kann, nur die Position der PermanentAnzeige. Dazu muss man den Kommentar nur an die gewünschte Position ziehen."
Ich gehe davon aus, dass Du mit PermanentAnzeige jene meinst, die nach Klick auf Kommentar ein-/ausblenden durch dann dauerhaftes Einblenden erscheint. Solange man (noch) in ungeschütztem/r Blatt/Mappe agiert, kann man dann dauerhaft angezeigte Kommentare durch Ziehen verschieben. Das geht aber nicht (mehr), wenn man in geschütztem Blatt agiert.
Unabhängig vom Schutz-Status wandern leider manche Kommentare von Zellen, die weit rechts innerhalb des Seitenumbruchs angeordnet sind, nach rechts außerhalb desselben, so dass sich die Kommentare außerhalb des Seitenumbruchs und teils sogar außerhalb des auf dem Bildschirm befindlichen Sichtfeldes befinden.
Die ersten beiden meiner 3 Fragen [siehe meine Nachricht AW: Jein! vom 31.03.2016 (18:57:42)] sind zwar beantwortet, aber die Infos aus dieser Antwort bringen mich leider nicht oder nur teilweise weiter, weil ich leider vergaß zu erwähnen, dass - unumgänglich - auf/in geschütztem/r Blatt/Mappe agiert wird.
Besonders meine dritte Frage ist noch offen!
Gruß
Mike

Anzeige
AW: Das heißt, ...
01.04.2016 13:07:53
Daniel
Hi
probiere mal folgenden Code im Modul des Tabellenblatts.
der Code bewirkt folgendes:
beim MouseOver wird der Kommentar an der von Excel automatsich bestimmten Stelle angezeigt (diese Position kannst du nicht beeinflussen)
selektierst du dann diese Zelle per Mausklick, wird der Code aktiv und verschiebt den Kommentar so, dass er unterhalb der Zelle und rechtsbündig mit dieser angezeigt wird (auch bei Zellverbünden).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Dim zelle As Range
On Error Resume Next
Set rng = Me.Cells.SpecialCells(xlCellTypeComments)
On Error GoTo 0
If Not rng Is Nothing Then
For Each zelle In rng
If Intersect(zelle, Target) Is Nothing Then
zelle.Comment.Visible = False
Else
With zelle.Comment
.Shape.Top = zelle.MergeArea.Top + zelle.MergeArea.Height + 5
.Shape.Left = zelle.MergeArea.Left + zelle.MergeArea.Width - .Shape.Width - 5
.Visible = True
End With
End If
Next
End If
End Sub
eine Ausrichtung am nächsten vertikalen Seitenwechsel liesse sich natürlich auch programmieren, das wird dann natürlich etwas aufwendiger, weil du dann erstmal ausgehend von der angeklickten Zelle den nächsten Seitenwechsel suchen müsstest.
Die Rechtsbündigkeit mit der angeklickten Zelle ist da meiner Ansicht nach ein recht guter Kompromiss zwischen Aufwand und Nutzen.
Gruß Daniel

Anzeige
Mit Blattschutz dann so:
01.04.2016 16:03:13
Daniel
Hi
bei geschütztem Blatt musst du dann den Blattschutz im Code aufheben und am Ende wieder setzen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Dim zelle As Range
Application.EnableEvents = False
Me.Unprotect
On Error Resume Next
Set rng = Me.Cells.SpecialCells(xlCellTypeComments)
On Error GoTo 0
If Not rng Is Nothing Then
For Each zelle In rng
If Intersect(zelle, Target) Is Nothing Then
zelle.Comment.Visible = False
Else
With zelle.Comment
.Shape.Top = zelle.MergeArea.Top + zelle.MergeArea.Height + 5
.Shape.Left = zelle.MergeArea.Left + zelle.MergeArea.Width - .Shape.Width - 5
.Visible = True
End With
End If
Next
End If
Me.Protect
Application.EnableEvents = True
End Sub
Gruß Daniel

Anzeige
Nepumuk hat deine Absichten vorausgeahnt ...
01.04.2016 14:02:26
Luc:-?
…und deshalb kurz und bündig mit Nein geantwortet, Mike,
und sich so weiteren Erklärungsaufwand erspart.
Ich habe dir gesagt, was möglich wäre. Da das aber offensichtlich nicht zur Organisation deiner Mappe passt, musst du mit Nepumuks AW leben.
Mein Vorschlag wäre es sonst gewesen, dass in dem Fall, dass der Kommentar aus dem (Seiten-)Rahmen läuft und ggf gar nicht zu sehen ist, auf die kommentartragende Zelle geklickt wird. Dazu muss sie aber praktischerweise auswählbar sein. Wenn gleichzeitig auch die Indikatoren für die AutoAnzeige bei Mauszeiger­Berührung angezeigt wdn sollen, muss auch die Positionierung im Ereignis­PgmCode festgelegt wdn. Wenn die Indikatoren nicht angezeigt wdn, ist das nicht erforderlich (die AutoAnzeige löscht bei Auswählbarkeit der Zelle die zuletzt gemerkte Position).
Falls die Zellen nicht auswählbar bleiben sollen, muss festgelegt wdn, welcher Kommentar bei Klick auf welche auswählbare Zelle angezeigt wdn soll. Anderenfalls kann man alle Kommentare (ggf nur die in einem bestimmten Abstand von der Klickzelle) durchgehen und sie anzeigen bzw bereits angezeigte ausblenden.
Es wäre auch zu überlegen, ob dann nicht besser Legenden-Objekte verwendet wdn sollten, die man ein- und ausblenden kann, letzteres sogar durch Klick auf das Objekt (Kommentar-Objekten kann man kein AufrufMakro direkt zuordnen, anderen ZeichnungsObjekten aber wohl).
Einfach mal ansehen, was das Xl/VBA-ObjektModell zu Comment so an Eigenschaften und Methoden bereit hält. Gleiches gilt für das TabBlatt, speziell seine Ereignisse. Nachfolgend 2 Bspp:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Me.Cells(1, 1)    'Kommentar in gesperrter Zelle A1
If Not .Comment Is Nothing Then .Comment.Visible = Not .Comment.Visible
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target        'Kommentar in beliebiger ungesperrter Zelle
If Not .Comment Is Nothing Then .Comment.Visible = Not .Comment.Visible
End With
End Sub
Luc :-?

Anzeige
AW: Nepumuk hat deine Absichten vorausgeahnt ...
01.04.2016 20:11:36
Mike
Hallo Nepumuk, Luc und Daniel,
vorerst Danke für eure Antworten!
Ich habe sie am Nachmittag gelesen.
Weil ich aber keine VBA-Kenntnisse habe,
sind für mich viele Infos und der Code-Inhalt kaum zu verstehen!
Und weil ich aktuell an einem Excel-losem Rechner sitze,
kann ich eure Lösungsvorschläge erst Morgen ausprobieren!
Dann melde ich mich wieder!
Gruß
Mike

AW: Nepumuk hat deine Absichten vorausgeahnt ...
02.04.2016 19:13:25
Mike
Hallo Daniel, hallo Luc,
vorab: ich weiße nochmals darauf hin, dass ich keinerlei VBA-Kenntnisse habe;
daher sind leider viele Dinge, Dir ihr geschrieben habt für mich chinesische Dörfer!
Als ich heute am Nachmittag am Excel-Rechner saß, habe ich getestet.
@ Daniel:
Ich habe den Code mit Unprotect und Protect aus Deiner Nachricht...
Mit Blattschutz dann so (vom 01.04.2016, 16:03:13)
... unter anderem in der von mir (eingangs) gesendeten Anlage Kommentar-Positionen ausprobiert.
Komischerweise funktionierte dieser Code nur einmal, danach - als ich es nochmals bzw. noch mehrmals (auch nach Neustart) - ausprobiert habe, klappte er nicht mehr; beide mal hatte ich den Code eingefügt.
Offensichtlich muss man, wenn man einen solchen Code abspeichern will,
aus dem Datei-Format .xlsx (ab Excel 2007)
in das Datei-Format .xlsm (auch ab Excel 2007) wechseln.
Ist dieser Wechsel tatsächlich so nötig?
Wie wirkt sich das aus, und kann jeder, der Excel 2007 oder höher auf seinem Rechner, hat derartige Dateien öffnen?
@Luc:
Im Rahmen meiner geschützten Mappe, die mehrere und vielfältig miteinander verknüpfte Tabellenblätter enthält,
sind nur Eingabezellen auswählbar;
unumgänglich im Schutzmodus ist, dass Ausgabezellen nicht auswählbar sind!
Du hast in Deiner Nachricht...
Nepumuk hat deine Absichten vorausgeahnt (com 01.04.2016, 14:02:26)
... erwähnt: Legenden-Objekte und Zeichnungs-Objekte.
Was ist bzw. sind das?
Du hast auch geschrieben:
Einfach mal ansehen, was das Xl/VBA-ObjektModell zu Comment
so an Eigenschaften und Methoden bereit hält
.
Danach hast du 2 Bspp aufgeführt.
Durch all dies steige ich mangels VBA-Kenntnissen nicht durch!
Bis evtl. Morgen, Gruß
Mike

Anzeige
AW: xlsx und xlsm
03.04.2016 02:12:26
Daniel
Hi
ja, wenn du Makros in der Datei hast, musst du die Datei als xlsm oder xlsb speichern.
beim Speichern als xlsx werden alle Makros aus der Datei gelöscht.
Dieses Format wurde extra geschaffen, um einen "sicheren" Dateityp zu bekommen, der auch von unbekannter Quelle (Internet) ohne Risiko geöffnet werden kann. Da man mit Makros natürlich auch Schaden anrichten kann, müssen diese natürlich entfernt werden.
Gruß Daniel

Wer über 'keinerlei VBA-Kenntnisse' verfügt, ...
03.04.2016 19:30:17
Luc:-?
…sollte sich nicht derartige Ziele stellen, Mike;
anderenfalls muss er sich halt damit auseinandersetzen! ;-]
Ohne VBA-Pgmm hast du keine Chance, das zu realisieren. Wenn eine Datei solche enthält, muss sie auch als .xlsm bzw .xlsb gespeichert wdn. Nur, wenn alle Pgmm über ein AddIn (.xlam/b) abgearbeitet wdn können, ist das nicht erforderlich. Das wäre beim hochgeladenen Bsp aber nur für die beiden Fktt im (Standard-)Modul1 ohne tiefgreifendere Veränderungen möglich (sie müssten ggf als benannte Fmln formuliert wdn, auf die die sie benutzenden BedingtFormat-Regeln über ihren Namen zugreifen). Das Ereignis im DokumentKlassenModul des Blattes Tabelle1 müsste in diesem Fall über das Application-Objekt und seine DokumentKlassen erfolgen. Das ist aber standardmäßig nicht vorhanden und müsste erst angelegt wdn — dann natürlich im AddIn.
Legenden-Objekte sind Zeichnungs-Objekte wie Rechtecke, Kreise u.a., die man über Einfügen erzeugen und hinzufügen kann. Das Wissen darum gehört allerdings auch zu guten Xl-Kenntnissen. In der BspDatei bin ich aber bei Kommentar-Objekten geblieben.
Da wir von dir keine eigene BspDatei zV haben, musst du versuchen, das, was die BspDatei zeigt, auf deine OriginalDatei zu übertragen. Dabei bitte beachten, dass ein bestimmter Name für eine benannte Konstante definiert wird(/wurde), der von der 1.BedingtFormat-Regel (falls du das übernehmen willst) und vor allem der EreignisProzedur, die auf die ZellAuswahl reagiert, benötigt wird. Die anderen BedingtFormat-Regeln benötigen zT die beiden Fktt aus Modul1 und dienen der unterschiedlichen Zeilen-/ZellFärbung (Verbesserung der Lesbarkeit, AnzeigeUnterscheidung von Eingabe- und SperrZellen).
Beim Öffnen der hochgeladenen BspDatei müssen die beiden Fragen (Bearbeitung und Inhalte aktivieren) bestätigt wdn.
Achtung! Link ist maussensitiv!
Gruß, Luc :-?

Anzeige
Wichtige Nachbemerkung: ...
03.04.2016 19:39:53
Luc:-?
Habe die alternativen KommentarPositionen manuell erzeugt. Sie wdn allein durch den Blattschutz bewahrt, auch, wenn zwischendurch der Xl-Automatismus benutzt wird. Geschieht dergleichen bei ungeschütztem Blatt, wdn die alternativen Positionen durch die AutoPositionen ersetzt. Das Pgm stellt sie nicht wieder her. Dadurch bleibt das Ganze flexibel und individuell, erfordert aber Disziplin beim DateiStruktur-EingriffsBerechtigten!
Luc :-?

Nachbemerkung2: ...
03.04.2016 21:04:25
Luc:-?
Falls nur EingabeZellen ungesperrt und auswählbar sind, kann die Verwendung des Worksheet_SelectionChange-Ereignisses eingabestörend sein. In diesem Fall sollte besser das Worksheet_RightClick-Ereignis verwendet wdn (anlegen und den PgmCode zwischen Kopf- und FußZeile des gezeigten Pgms in das letztere übernehmen; dabei sollte als 1.BefehlsZeile nach den Deklarationen noch Cancel = True eingefügt wdn, wodurch die Anzeige des StandardMenüs ausgeschaltet wird). Anschließend kann das 1.Pgm entfernt wdn.
Luc :-?

Anzeige
Korrektur: Gemeint war nicht ...
03.04.2016 21:59:47
Luc:-?
Worksheet_RightClick (das gibt's nicht!), sondern Worksheet_BeforeRightClick.
Luc :-?

War Mike wohl doch nicht wichtig! :-| owT
06.04.2016 00:40:59
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige