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
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.
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
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 :-?
Um die Position von Kommentaren in Excel zu fixieren oder flexibel zu gestalten, kannst Du VBA verwenden. Hier ist eine einfache Anleitung, um dies umzusetzen:
Öffne die Excel-Datei: Stelle sicher, dass Deine Datei im Format .xlsm
gespeichert ist, um VBA-Makros zu verwenden.
Öffne den VBA-Editor: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
Füge den Code ein:
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
Speichern und schließen: Speichere die Datei und schließe den VBA-Editor.
Teste die Funktion: Klicke auf die Zellen mit Kommentaren, um deren Position zu überprüfen.
Kommentar wird nicht angezeigt: Überprüfe, ob die Zelle, die den Kommentar enthält, nicht geschützt ist. Wenn Du den Blattschutz aktiviert hast, stelle sicher, dass der Code zur Entsperrung der Zelle korrekt implementiert ist.
Kommentare werden nur als Strich angezeigt: Stelle sicher, dass die Kommentare nicht auf eine Position außerhalb des Sichtfeldes verschoben wurden. Du kannst die Kommentare manuell verschieben, indem Du sie anklickst und ziehst.
Excel Kommentar dauerhaft anzeigen: Wenn Du möchtest, dass die Kommentare immer sichtbar sind, musst Du die Sichtbarkeit im VBA-Code entsprechend anpassen.
Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du die Kommentarposition manuell ändern:
Alternativ kannst Du auch die Optionen in Excel nutzen, um alle Kommentare gleichzeitig zu formatieren.
Beispiel 1: Um alle Kommentare in einem Arbeitsblatt gleichzeitig zu formatieren, kannst Du den Kommentar-Formatierungsdialog verwenden, um Schriftart und -größe festzulegen.
Beispiel 2: Wenn Du einen Kommentar an eine bestimmte Zellposition anpassen möchtest, ziehe ihn einfach, bis die gewünschte Position erreicht ist.
Beispiel 3: Verwende die Worksheet_BeforeRightClick
-Prozedur, um Kommentare bei einem Rechtsklick anzuzeigen.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target
If Not .Comment Is Nothing Then .Comment.Visible = Not .Comment.Visible
End With
End Sub
Nutze VBA, um komplexere Funktionen zu erstellen, wie z.B. das gleichzeitige Anzeigen mehrerer Kommentare oder das Festlegen von Benutzereinstellungen für die Kommentarposition.
Experimentiere mit der Application.EnableEvents
-Eigenschaft, um die Performance Deines Makros zu verbessern.
Verwende die Funktion xlCellTypeComments
, um gezielt Zellen mit Kommentaren auszuwählen.
1. Ist es notwendig, die Datei im .xlsm Format zu speichern?
Ja, wenn Du Makros nutzen möchtest, musst Du die Datei im Format .xlsm speichern. Andernfalls werden alle Makros gelöscht.
2. Wie kann ich die Sichtbarkeit von Kommentaren steuern?
Du kannst die Sichtbarkeit von Kommentaren mit VBA steuern. Die oben genannten Codes helfen Dir dabei, Kommentare basierend auf Zellinteraktionen anzuzeigen oder auszublenden.
3. Warum werden einige Kommentare nicht angezeigt?
Wenn Kommentare nicht angezeigt werden, könnte das an den Zellformatierungen oder an einem aktiven Blattschutz liegen. Stelle sicher, dass die Zellen auswählbar sind und keine Formatierungen die Sichtbarkeit beeinträchtigen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen