Warum nicht gleich erst nach Zeilenumbruch...
16.04.2009 05:29:42
Luc:-?
...und das auch nur lesen ohne Nachbehandlung (die 1.Variante), meine Herren... ;->
Hier mal zur Abwechslung als udFkt und etwas universeller...
Function GetComment(Bereich As Range, Optional ByVal nachZchn = 1, _
Optional ByVal Textlg As Long)
Dim pos As Long
If Not Bereich.Comment Is Nothing Then
With Bereich.Comment
If Not WorksheetFunction.IsNumber(nachZchn) Then
pos = InStr(.Text, nachZchn) + Len(nachZchn)
Else: pos = nachZchn
End If
If Textlg = 0 Then Textlg = Len(.Text) - pos + 1
GetComment = .Shape.TextFrame.Characters(pos, Textlg).Text
End With
Else: GetComment = "Kein Kommentar"
End If
End Function
In die Zellen, die den Kommentartext aufnehmen sollen, muss dann nur noch folg Fml eingetragen wdn...
Var1: =GetComment(G15) → für den ganzen Text
Var2: =GetComment(G15;ZEICHEN(10)) → für Text nach 1.Zeilenumbruch
Var3: =GetComment(G15;ZEICHEN(10);8) → für 8 Zeichen Text nach 1.Zeilenumbruch
G15 steht für die potenzielle Kommentarzelle, die hier eingetragen wird. Alles, was in Arg2 (nachZchn) als Text eingetragen wird (auch Zahlen), wird als Kommentartextbestandteil betrachtet, gesucht und die Position des 1. Zeichens nach diesem Textbestandteil als Startposition verwendet. Arg2 darf aus mehreren Zeichen bestehen.
Nach Eintrag des FktKörpers in ein (normales) Modul der Mappe oder ein installiertes eigenes AddIn o.ä. wird die udFkt im Fkt-Assistenten angezeigt.
Natürlich kann der entscheidende Teil (fett) auch in einer Subroutine wie der vorliegenden verwendet wdn.
Gruß Luc :-?