Herbers Excel-Forum - das Archiv
Kommentare nur in der Höhe anpassen
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Betrifft: Kommentare nur in der Höhe anpassen
von: Max Schuster
Geschrieben am: 28.12.2006 20:14:29
Bei mir haben sich etliche Kommentare in den Höhe verzogen und nun wollte ichs per Makro wieder richten (es sind wirklich seeeeehr viele) :)
Ich habe schon ein Makro gefunden welches Breite und Höhe markierter Zellen anpasst, ich muß aber die Breite unbedingt beibehalten und NUR die Höhe anpassen, hat jemand ne Idee?
hier das jetzige Makro:
Sub AutoFitCommentsSelection()
On Error Resume Next
Dim c As Range
Dim myRange As Range
Set myRange = Selection
For Each c In myRange.Cells
With c.Comment
.Shape.TextFrame.AutoSize = True
End With
Next c
myRange.Select
End Sub
Betrifft: AW: Kommentare nur in der Höhe anpassen
von: th.heinrich
Geschrieben am: 28.12.2006 22:20:51
hallo Max,
scheint nicht so einfach zu sein. hier mal zwei threads die das thema behandeln
https://www.herber.de/forum/archiv/828to832/t830613.htm
https://www.herber.de/forum/archiv/308to312/t310607.htm
gruss thomas
Betrifft: AW: Kommentare nur in der Höhe anpassen
von: Herby
Geschrieben am: 28.12.2006 22:51:13
Hallo Max,
probiers doch mal so:
Sub AutoFitCommentsSelection()
On Error Resume Next
Dim c As Range
Dim myRange As Range
Dim Breit
Set myRange = Selection
For Each c In myRange.Cells
With c.Comment
Breit = .Shape.Width
.Shape.TextFrame.AutoSize = True
.Shape.Width = Breit
End With
Next c
myRange.Select
End Sub
Viele Grüße
Herby
Betrifft: AW: Kommentare nur in der Höhe anpassen
von: Max
Geschrieben am: 29.12.2006 00:32:17
hmm, soweit war ich inziwschen auch schon herby, bringt leider nix...
es wird zwar wieder am Ende die gleiche Breite wie vorher eingestellt, aber die Höhe bleibt vom vorher durchgeführeten Autosize erhalten!
Es scheint einfach simple keine Lösung für das Problem zu geben :(
Gab es nicht mal einen Befehl mit dem man die Zeilen zählen konnte? CountLines oder so? Dann könnte man nämlich die Anzahlt der Zeilen mit eine fester Höhe in pixel (zb x 8) multiplizieren.
Aber ich glaube es werden sowieso immer nur die Zeilenumbrüche gezählt oder? Das bringt mir nämlich auch wieder nichts, da es eine lange Zeile ist, die durch die gerine Breite in mehreren Reihen dargestellt wird...
Betrifft: Kommentare nur in der Höhe anpassen geht nicht
von: Herby
Geschrieben am: 29.12.2006 00:52:22
Hallo Max,
die gleiche Erkenntnis habe ich auch gewonnen. Wenn die Höhe durch den autosize erhalten bleibt, werden ggf. Zeilen nicht mehr angezeigt. Das Zählen der Zeilen/Buchstaben/Zeilenumbrüche wird m.E. zu einer Pfrimelarbeit. Kurz gesagt ich bin die Erfahrung reicher, dass es hierfür keine handfeste Lösung gibt.
Viele Grüße
Herby
Betrifft: AW: Kommentare nur in der Höhe anpassen geht nicht
von: Max
Geschrieben am: 29.12.2006 05:51:05
Nunja ich habs jetzt ganz einfach gelöst
da der Verzug nach unten prozentual in etwa bei allen Zellen gleich war, habe vorher ein wenig probiert um welchen Wert ich das Ganze kürzen muss und voila:
Das hier is bei rausgekommen:
Sub KommentarHoehe()
Dim mycell As Range
Dim myRng As Range
Dim hoehe
Set myRng = Selection
For Each mycell In myRng.Cells
If Not (mycell.Comment Is Nothing) Then
With mycell.Comment
hoehe = .Shape.Height
.Shape.Height = hoehe / 1.25
End With
End If
Next mycell
End Sub
Is natürlich nicht perfekt, aber doch schon mal besser wie nix ;)
Danke trotzdem mal wieder für die schnelle Hilfe euch allen