Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatische Nummerierung

Forumthread: Automatische Nummerierung

Automatische Nummerierung
Bernd
Hallo Excelfreunde,
bei einer Tabelle möchte ich eine automatische Durchnummerierung per Makro erstellen.
Wenn in Spalte A ein Wert größer als 0 dann in Spalte B gleiche Zeile eine fortlaufende Nummer, angefangen mit Nummer 1.
Beispiel:
Spalte A/Spalte B
500     /  1
-1000   /
520     /  2
100     /  3
-2      /
12,50   /  4
usw.
Wie könnte der Code für dieses Makro aussehen?
Vielen Dank im voraus!
Bernd
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Automatische Nummerierung
13.01.2011 11:47:12
Rudi
Hallo,
wozu Makro?
Deine Daten ab A2
B2: =WENN(ZÄHLENWENN(B$1:B1;MAX(B$1:B1)+(A2>0))>0;"";MAX(B$1:B1)+(A2>0))
und runter kopieren.
Gruß
Rudi
AW: Automatische Nummerierung
13.01.2011 11:53:20
Bernd
Hallo Rudi,
da die Tabelle per Makro befüllt und bearbeitet wird, möchte ich dieses um die Durchnummerierung ergänzen.
Gruß
Bernd
Anzeige
AW: Automatische Nummerierung
13.01.2011 11:54:37
Reinhard
Hallo Bernd,
Option Explicit
Sub tt()
Dim Zei As Long
Range("B1") = 1
Zei = Cells(Rows.Count, 1).End(xlUp).Row
Range("B2:B" & Zei).FormulaLocal = "=WENN(A2>0;MAX($B$1:B1)+1;"""")"
Range("B2:B" & Zei).Value = Range("B2:B" & Zei).Value
End Sub

Gruß
Reinhard
Anzeige
Nummerierung mit VBA
13.01.2011 12:06:45
Erich
Hi zusammen,
noch eine Variante:

Option Explicit
Sub Nummern()
Dim lngZ As Long, arrA, arrN(), zz As Long, nn As Long
lngZ = Cells(Rows.Count, 1).End(xlUp).Row
arrA = Cells(1, 1).Resize(lngZ)
ReDim arrN(1 To lngZ)
For zz = 1 To lngZ
If arrA(zz, 1) > 0 Then
nn = nn + 1
arrN(zz) = nn
End If
Next zz
Cells(1, 2).Resize(lngZ) = Application.Transpose(arrN)
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
VBA-Code gesucht und auch bekommen
13.01.2011 12:54:31
Bernd
Hallo Erich und Reinhard,
danke für eure VBA-Codes. Ich habe mich für den von Erich entschieden, da ich diesen am einfachsten an meine Bedürfnisse anpassen kann.
Gruß
Bernd
ganz versteh ich das nicht...
13.01.2011 13:01:36
robert
Hi,
du gibst Excel-gut, VBA-bescheiden an,
stellst eine relativ einfache frage,
und entscheidest dich für einen code mit array usw...
entweder dein level stimmt nicht, oder sonst was ;-)
gruß
robert
Anzeige
AW: ganz versteh ich das nicht...
13.01.2011 13:14:48
Bernd
Na ja, wenn ich VBA-gut angeben würde, wäre das ganz schön hochgegriffen und dann wäre bestimmt die Frage aufgetaucht, warum ich so eine einfache Frage stelle, wenn ich doch schon VBA-gut angebe.
Ich habe ein paar VBA-Grundkenntnisse und lerne ständig dazu. Mehr nicht...
Gruß
Bernd
einfacher
13.01.2011 11:58:20
Erich
Hi Bernd und Rudi,
vielleicht ist es so einfacher?
 AB
1  
211
322
4-3 
553
654
7-9 
835
9  

Formeln der Tabelle
ZelleFormel
B2=WENN(A2>0;MAX(B$1:B1)+1;"")
B3=WENN(A3>0;MAX(B$1:B2)+1;"")

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
zu einfach ;-) owT
13.01.2011 12:46:23
Rudi
noch kürzer
13.01.2011 15:41:35
Reinhard
Hallo Erich,

=(MAX(B$1:B1)+1)*(A2>0)

:-)
Gruß
Reinhard
dann musst du aber
13.01.2011 16:09:42
Rudi
Hallo,
die Zellen als 0;;"" formatieren.
Gruß
Rudi
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige