AW: Kommentar als Wert in neue Zelle
20.09.2007 14:14:00
fcs
Hallo Dieter,
ich hab nochmal ein wenig experimentiert. Das Makro stellt jetzt abhängig von der Zahl der Zeilenschaltungen und der Anzahl Zeichen zwischen Zeilenschaltungen die Fontgöße ein.
Du muss halt mit den Fontgrößen und der Anzahl Zeichen für die verschiedenen Case-Zeilen noch einwenig rumprobieren, bis es passt.
Mehr geht dann an variablen Einstellungen nicht mehr.
Gruß
Franz
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1").Comment Is Nothing Then
Range("B1").ClearContents
Else
With Range("B1")
.ShrinkToFit = False
strText = Range("A1").Comment.Text
maxAnz = 0 'MaxAnzahlZeichen zwischen Zeilenschaltungen
For i = 1 To Len(strText)
Anz = Anz + 1
If Mid(strText, i, 1) = vbLf Then
z = z + 1
maxAnz = Application.WorksheetFunction.Max(maxAnz, Anz)
Anz = 0
End If
Next
Select Case z
Case 0 'Keine Zeilenschaltungen im Kommentar
.Font.Size = 10
.ShrinkToFit = True
.WrapText = False
.Value = Range("A1").Comment.Text
Case 1
FontsizeZ = 8
Case 2
FontsizeZ = 6
Case 3 To 5
FontsizeZ = 4
Case Else
FontsizeZ = 3
End Select
Select Case maxAnz 'Fontgröße nach max. Anzahl Zeichen in einer Zeile festlegen
Case Is 0 Then 'Im Kommentar sind Zeilenschaltungen vorhanden
.Font.Size = Application.WorksheetFunction.Min(FontsizeZ, FontsizeA)
.Value = Range("A1").Comment.Text
End If
End With
End If
End Sub