Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1356to1360
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
Inhaltsverzeichnis

Neue laufende Nummer ermitteln

Neue laufende Nummer ermitteln
04.04.2014 07:56:38
reinhardt
Guten Morgen,
ich habe eine Tabelle mit folgendem Aufbau: z.B.
001_BU14_11 oder 005_BU14_16 oder 131_BU14_358.
Ich suche eine eine einfachere Möglichkeit,die Spalte H abzufragen, welches die nächste fortlaufende Nummer ist. Hierbei zählen jedoch nur die max. letzten 3 Ziffern.
Soll heißen: ich erstelle eine neue Nummer, z.B 009_BU14_ und brauche nun die 359
zum Anhängen.
Gruß
Reinhardt
Mein wahrscheinlich zu komlizierter Ansatz: Sub NeueBU_NR() Dim LZ% Sheets("Bu_Liste").Select LZ = Cells(Rows.Count, 2).End(xlUp).Row 'Ziffern aus BU_NR von rechts ermitteln Range("N3").Select ActiveCell.FormulaR1C1 = _ "=PROPER(MID(RC[-6],FIND(""_"",RC[-6])+6,FIND(""_"",RC[-6])-FIND(""_"",RC[-6])+5))" Range("N3").Select Selection.AutoFill Destination:=Range("N3:N" & LZ) Range("N3:N" & LZ).Select Selection.Copy 'In die nächste Spalte kopieren Range("O3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False 'Mit 1 multipizieren Range("O2").Select ActiveCell.FormulaR1C1 = "1" Range("O2").Select Selection.Copy Range("O3:O" & LZ).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _ SkipBlanks:=False, Transpose:=False 'MAX Formel Range("O1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=MAX(R[2]C:R[1000]C)+1" 'Letzte BU_ListenNR+1 eintragen Range("O1").Select Selection.Copy Sheets("Formular").Select Range("H19").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Neue BU_Nr zusammenstellen Range("H18").Select ActiveCell.FormulaR1C1 = "=LEFT(R[-17]C,9)&R[1]C" Range("H18").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Range("H19").Select Selection.ClearContents 'BU_NR Berechnung wieder löschen Sheets("Bu_Liste").Select Columns("N:O").Select Selection.ClearContents Range("A3").Select Sheets("Formular").Select Range("I18").Select End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neue laufende Nummer ermitteln
04.04.2014 08:14:42
Hajo_Zi
warum VBA?


Tabelle1
 AB
1001_BU14_11359
2005_BU14_16 
3131_BU14_358 

verwendete Formeln
Zelle Formel Bereich N/A
B1{=MAX(WECHSELN(RECHTS(A1:A3;3);"_";"")*1)+1}$B$1 
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!

Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 16.03 einschl. 64 Bit



Anzeige
Vielen Dank!
04.04.2014 08:42:04
reinhardt
Das war eben ein möglicher Weg...
Die Formel ist natürlich besser!!
Gruß
Reinhardt

das kann aber auch schief gehen!
04.04.2014 08:50:05
Matthias
Hallo
Kann also auch ein unerwünschtes Ergebnis liefern!
 AB
1001_BU14_11 
2005_BU14_16 
3131_BU14_344

Formeln der Tabelle
ZelleFormel
B3=MAX(WECHSELN(RECHTS(A1:A3;3);"_";"")*1)+1


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
Zahlen nach letztem _
04.04.2014 10:59:00
WF
Hi,
dann folgende Arrayformel:
{=MAX(TEIL(A1:A3;FINDEN("##";WECHSELN(A1:A3;"_";"##";LÄNGE(A1:A3)-LÄNGE(WECHSELN(A1:A3;"_";))))+1;99) *1) +1}
Salut WF

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige