Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ANZAHL xlUnderlineStyleSingle

ANZAHL xlUnderlineStyleSingle
25.08.2006 12:26:53
Lorenz
Mahlzeit!
Ist es, bzw. wie ist es möglich wenn z.B. lt folgendem Beispiel ein Eintrag getätigt wird, die Anzahl der "xlUnderlineStyleSingle" zu bestimmen?
With Range("A9")
.Value2 = "Ich nicht du er, Sie"
With .Characters(Start:=1, Length:=3).Font
.Underline = xlUnderlineStyleSingle
.Size = 15
End With
With .Characters(Start:=11, Length:=2).Font
.Underline = xlUnderlineStyleSingle
.Size = 11
End With
End With
PS: Dies sollte natürlich auch möglich sein, wenn das Format manuell gesetzt wurde.
Gruss
Lorenz

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ANZAHL xlUnderlineStyleSingle
25.08.2006 13:38:23
ingoG
Hallo Lorenz,
versuchs mal so (ungetestet, sollte aber funzen):
Gruß Ingo
PS eine Rückmeldung wäre nett...

Function Anz_UL(Target As Range)
Dim anz#, zelle As Range
Application.Volatile
anz = 0
For Each zelle In Target
If (zelle.Characters(Start:=1, Length:=3).Font.Underline = xlUnderlineStyleSingle) And _
(zelle.Characters(Start:=11, Length:=2).Font.Underline = xlUnderlineStyleSingle) And _
(Len(zelle) >= 12) Then
anz = anz + 1
End If
Next zelle
Anz_UL = anz
End Function

AW: ANZAHL xlUnderlineStyleSingle
25.08.2006 14:21:56
Lorenz
Hallo Ingo!
mit Aufruf "MsgBox Anz_UL(Range("E9"))" liefert es 0 obwohl in E9 zweimal je 3 Zeichen unterstrichen sind. (somit sollte "2" geliefert werden)
viele Grüße
Lorenz
Anzeige
AW: ANZAHL xlUnderlineStyleSingle
25.08.2006 15:03:45
ingoG
Hallo Lorenz,
die von mir angehängte

Function zählt alle Zellen im angegebenen Bereich, die genau an den beschriebenen unterstreichungen haben...
die von dir beschriebene funktionalität sollte von folgender 

Function abgedeckt werden:
Gruß Ingo
PS eine Rückmeldung wäre nett...

Function Anz_UL(Target As Range)
Dim anz#, st#, zelle As Range, bUnter As Boolean
Application.Volatile
anz = 0
For Each zelle In Target
bUnter = False
For st = 1 To Len(zelle)
If zelle.Characters(Start:=st, Length:=1).Font.Underline = xlUnderlineStyleSingle Then
bUnter = True
If st = Len(zelle) Then anz = anz + 1
ElseIf bUnter Then
bUnter = False
anz = anz + 1
End If
Next st
Next zelle
Anz_UL = anz
End Function

Anzeige
Perfekt :-)
25.08.2006 15:14:43
Lorenz
Hallo Ingo!
Danke vielmals!!!!!!!!!!!!!!
Genau das war´s.
vielen Dank u. Grüsse
Lorenz
Gerne, danke für die Rückmeldung oT
25.08.2006 15:16:13
ingoG
.
AW: ANZAHL xlUnderlineStyleSingle
25.08.2006 13:43:43
fcs
Hallo Lorenz,
folgende kleine benutzerdefinierte Funktion zählt die unterstrichenen Zeichen im Zelltext.
Gruß
Franz

Sub Test2()
Unterstreichungen = underlines(Range("A9"), 1)
End Sub
Function underlines(Zelle As Range, PosStart As Integer, Optional PosEnde As Integer)
'Zählt die unterstrichenen Buchstaben im Zelltext von Position Start bis inkl. Position Ende
Dim I As Integer
If PosEnde = 0 Then PosEnde = Len(Zelle.Value)
For I = PosStart To PosEnde
If Zelle.Characters(Start:=I, Length:=1).Font.Underline = xlUnderlineStyleSingle Then
underlines = underlines + 1
End If
Next
End Function

Anzeige
AW: ANZAHL xlUnderlineStyleSingle
25.08.2006 14:28:55
Lorenz
Hallo Franz!
Warscheinlich habe ich mich falsch ausgedrückt!
Ich meinte wenn zB. wie in meinem Fall: sollte es "2" liefern.
Das heisst 2x ein Teil des gesamten Textes ist unterstrichen.
Gruß
Lorenz
AW: ANZAHL xlUnderlineStyleSingle
25.08.2006 15:21:15
fcs
Hallo Lorenz,
hier die von dir gewünschte Variante
Gruß
Franz

Sub Test2()
Unterstreichungen = underlines(Range("A9"))
MsgBox Unterstreichungen
End Sub
Function underlines(Zelle As Range) As Integer
'Zählt wie oft Text-Teile im Zelltext unterstrichen sind
Application.Volatile
Dim I As Integer
If Len(Zelle.Value) = 0 Then Exit Function
I = 1
Do
Do Until Zelle.Characters(Start:=I, Length:=1).Font.Underline = xlUnderlineStyleSingle
If I = Len(Zelle.Value) Then Exit Function
I = I + 1
Loop
underlines = underlines + 1
Do Until Zelle.Characters(Start:=I, Length:=1).Font.Underline <> xlUnderlineStyleSingle
If I = Len(Zelle.Value) Then Exit Function
I = I + 1
Loop
Loop Until I = Len(Zelle.Value)
End Function

Anzeige
Auch Perfekt :-)
25.08.2006 16:05:50
Lorenz
Hallo Franz!
Danke vielmals!!!!!!!!!!!!!!
Genau das war´s.
vielen Dank u. Grüsse
Lorenz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige