Clever-Excel-Forum

Normale Version: Excel vba Blockweise nummerieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

hätte schon wieder eine Frage mit der Hoffnung auf Hilfe von Euch.

Ich habe eine ellenlange Liste, in der in Spalte "B" ab Zeile 2 unterschiedlich viele Einträge unterschiedlicher Themengruppen stehen können.
Die Themengruppen sind immer durch eine eindeutige Überschrift getrennt. Also nach jeder Überschrift beginnt eine neue Gruppe.

Mal ein Beispiel:

Tabelle1 (2)
ABCD
1#Thema Gruppen-Nr.
2Lesezeichenleiste 1
3text 1 1
4text 2 1
5text 3 1
6Aktuelle Lesezeichen 2
7text 1 2
8text 2 2
9text 3 2
10Android 3
11text 1 3
12text 2 3
13text 3 3
14text 43
http://excel-inn.de/dateien/vba_beispiel..._addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.21 einschl. 64 Bit



Meine Frage ist nun folgende:
Wie kann die Liste wie in Spalte "D" abgebildet per vba blockweise nummeriert werden? Es soll also ab einer neuen Überschrift die Blocknummerierung um 1 erhöht werden?
Moin!
Strukturiere die Tabelle anders.
Zwischenüberschriften sind ein NoGo!
Formel aus C2 nach unten ziehen.

ABC
1#ThemaGruppen-Nr.
2Lesezeichenleistetext 11
3text 21
4text 31
5Aktuelle Lesezeichentext 12
6text 22
7text 32
8Androidtext 13
9text 23
10text 33
11text 43

ZelleFormel
C2=MAX(C$1:C1)+ISTTEXT(A2)

Gruß Ralf
Hi,

gibt es denn ein eindeutiges "Erkennungszeichen", mit dem eine Überschrift identifizierbar ist (Schriftart, Schriftgröße, Fettschrift, Schriftfarbe)? Oder sind alle "Nicht-Überschriften" Hyperlinks (wie auf deinem Bild dargestellt)? Dann ginge das natürlich mit VBA, wenn das für dich in Frage kommt.
Probiere ich aus!

Ja die Überschriften sind in Fettschrift!

Hallo Ralf,

Formel funktioniert perfekt!

Die Listen bekomme ich leider nicht in der Form wie von Dir vorgeschlagen.
Bedeutet dann halt jedes Mal Hand anlegen zu müssen und die Zwischenüberschriften passend verschieben.

Trotzdem vielen Dank, habe wieder etwas gelernt.

Wünsche noch schönen Sonntag!
Hi,

wenn VBA für dich in Frage kommt, dann probiere mal folgenden Code:

Code:
Sub Gruppennr()

    Dim ThemaSpalte As Integer
    Dim GruppennrSpalte As Integer
    Dim Gruppennr As Integer
    Dim Zelle As Range
   
    ' Spalten und Gruppen-Nr. hier anpassen:
    ThemaSpalte = 2
    GruppennrSpalte = 4
    Gruppennr = 0
   
    For Each Zelle In Range(Cells(2, ThemaSpalte), Cells(Rows.Count, ThemaSpalte).End(xlUp))
        If Zelle.Font.Bold Then Gruppennr = Gruppennr + 1
        Cells(Zelle.Row, GruppennrSpalte) = Gruppennr
    Next

End Sub

Wie und wo fügt man ein Makro bzw. Code ein: Link.
Guten Morgen Lucky Joe,

das ist cool und funktioniert perfekt.

Herzlichen Dank dafür!!

Wünsche Dir noch einen schönen und gesunden Tag.
Ups...einmal zu viel versendet..sorry!