Ich hoffe, dass mir jemand bei meinem Problem helfen kann. Und zwar habe ich bisher folgende Daten beginnend in Zelle A1 bzw. B1 angelegt:
A Text
A1 Text
A11 Text
A111 Text
A1111 Text
A1112 Text
A1113 Text
A1114 Text
A1115 Text
A1116 Text
A1117 Text
A112 Text
A113 Text
A1131 Text
A1132 Text
A1133 Text
A12 Text
A121 Text
A1211 Text
A1212 Text
A1213 Text
A1214 Text
A1215 Text
A1216 Text
A1217 Text
A122 Text
A123 Text
A124 Text
A1241 Text
A1242 Text
A1243 Text
A125 Text
A126 Text
A127 Text
Nun hätte ich gerne, dass jeweils die kleinste, vorhandene - ich nenne es mal Unterkategorie in Spalte A - sowie der entsprechende Text in Spalte B fett markiert wird wie ich es bereits oben angedeutet habe. Das Problem ist hierbei eben das, dass die kleinsten Unterkategorien unterschiedliche Längen aufweisen bzw. die Gliederungstiefe variiert, z.B. A1241 und A125. Letztere muss jedoch logischerweise, da keine weiteren Unterkategorien wie A1251 vorhanden sind, ebenso markiert werden.
Excel muss also diejenige Unterkategorie erkennen, ab welcher nicht weiter aufgesplittet wird und die entsprechenden Werte UND die Texte in Spalte B fett markieren.
Bisher habe ich folgende Sub:
Sub markieren()
Dim ende As Long
Dim werte()
Dim zeile As Long
Dim suchwert As String
Dim temp
ende = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
ReDim werte(ende)
For zeile = ende To 1 Step -1
suchwert = ActiveSheet.Cells(zeile, 1)
temp = Filter(werte, suchwert, , vbTextCompare)
If UBound(temp) = -1 Then
werte(0) = werte(0) + 1
werte(werte(0)) = suchwert
ActiveSheet.Cells(zeile, 1).Font.Bold = True
End If
Next zeile
End Sub
Diese funktioniert auf den ersten Zellen einwandfrei, nur dann schleichen sich Fehler ein. Beispielsweise habe ich Zellen bei denen die Markierung erst später einsetzt und das dann so aussieht:A121 Text
A1211 Text
A1212 Text
A1213 Text
A1214 Text
A1215 Text
A1216 Text
A1217 Text
Ich hoffe, ich konnte das Problem hinreichend erklären und mir kann i-jemand helfen. Danke im Voraus