Nummerierung in Exceltabelle nicht vollständig
Guten Morgen zusammen,
ich habe eine Exceltabelle, die nach einer Nummerierung sortiert ist.
Leider fehlen zwischendurch immer mal wieder zahlen: 0654, 0655, 0658, 0659
Wie kann ich am schnellsten mit wenig Aufwand die Zwischenzeilen/Zahlen hinzufügen?
Vielen Dank und schönes Wochenende.
MfG
Marcel
ich habe eine Exceltabelle, die nach einer Nummerierung sortiert ist.
Leider fehlen zwischendurch immer mal wieder zahlen: 0654, 0655, 0658, 0659
Wie kann ich am schnellsten mit wenig Aufwand die Zwischenzeilen/Zahlen hinzufügen?
Vielen Dank und schönes Wochenende.
MfG
Marcel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 8108250676
Url: https://administrator.de/contentid/8108250676
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
12 Kommentare
Neuester Kommentar
Morgen,
kommt ganz darauf an, ob die führenden nullen im Feld stehen, oder nicht.
Wenn nicht: https://www.tabellenexperte.de/fehlende-zahlen-in-einer-liste-finden/
Wenn doch: VBA-Skript schreiben
Gruß
kommt ganz darauf an, ob die führenden nullen im Feld stehen, oder nicht.
Wenn nicht: https://www.tabellenexperte.de/fehlende-zahlen-in-einer-liste-finden/
Wenn doch: VBA-Skript schreiben
Gruß
schon klar. Die Frage die sich stellt ist eben: Stehen die Nullen mit im Feld oder ist das nur eine Formatierung...
Sind die Zellen als Text formatiert, oder wird die führende Null durch das Zellformat hinzugefügt (STRG+1)?
Wenn die als Text formatiert sind dann erste Zelle der Serie markieren und folgendes Makro abfeuern:
Wenn die Zellen nur durch Formatierung die führende Null bekommen und sie selbst Zahlen sind dann dieses (auch vorher wieder die erste Zelle der Serie markieren)
Done.
Gruß Siddius
Wenn die als Text formatiert sind dann erste Zelle der Serie markieren und folgendes Makro abfeuern:
Sub CompleteSeriesText()
Dim intNum As Integer, intRow As Integer, intCol as Integer
intRow = Selection.Row
intCol = Selection.Column
With ActiveSheet
While .Cells(intRow, intCol).Value <> ""
If IsNumeric(.Cells(intRow, intCol).Value) Then
intNum = CInt(.Cells(intRow, intCol).Value)
If intNum + 1 < CInt(.Cells(intRow + 1, intCol).Value) Then
.Cells(intRow + 1, intCol).EntireRow.Insert xlShiftDown
.Cells(intRow + 1, intCol).Value = Right("00000" & (intNum + 1), Len(.Cells(intRow, intCol).Value))
End If
End if
intRow = intRow + 1
Wend
End With
End Sub
Wenn die Zellen nur durch Formatierung die führende Null bekommen und sie selbst Zahlen sind dann dieses (auch vorher wieder die erste Zelle der Serie markieren)
Sub CompleteSeriesNum()
Dim intNum As Integer, intRow As Integer, intCol As Integer
intRow = Selection.Row
intCol = Selection.Column
With ActiveSheet
While .Cells(intRow, intCol).Value <> ""
If IsNumeric(.Cells(intRow, intCol).Value) Then
intNum = .Cells(intRow, intCol).Value
If intNum + 1 < CInt(.Cells(intRow + 1, intCol).Value) Then
.Cells(intRow + 1, intCol).EntireRow.Insert xlShiftDown
.Cells(intRow + 1, intCol).Value = intNum + 1
End If
End if
intRow = intRow + 1
Wend
End With
End Sub
Done.
Gruß Siddius
Manchmall ist es schneller per Hand. Wie StefanKittel schon andeutete, eine Spalte hinzufügen und per Formel eine Rechnung machen. Wert in aktueller Zeile - (minus) Wert in letzter Zeile ergibt ein Ergebnis von 1. Sollte der Wert höher sein, fehlt dazwischen eine Zahl. Dann hat man es schnell im Blick wo eine Zeile hinzugefügt werden muss.
Wenn man dann noch viel Lust hat, scriptet man sich etwas, das die Ergebnisspalte auf >1 prüft und die Zeilen automatisch hinzufügt.
Wenn man dann noch viel Lust hat, scriptet man sich etwas, das die Ergebnisspalte auf >1 prüft und die Zeilen automatisch hinzufügt.
Zitat von @StefanKittel:
oder Du fügst eine leere Spalte neben der Nummer hinzu und verwendest eine Formel.
Darin vergleichst Du den Ist- und Soll-Wert. Das ist meist einfacher als VBA.
oder Du fügst eine leere Spalte neben der Nummer hinzu und verwendest eine Formel.
Darin vergleichst Du den Ist- und Soll-Wert. Das ist meist einfacher als VBA.
das funktioniert nicht, wenn führende Nullen in den Zellen stehen
Die Lösung hat er doch schon auf dem Präsentierteller - entweder als bedingte Formatierung oder eben als VBA (der Code wurde auch schon geliefert). Umsetzen muss er schon selbst...!
Geht nicht, gibts nicht. Auch Text lässt sich in einer Formel eine Zahl umwandeln (WERT()).
Aber der TO hat ja wie du auch schon sagst genügend Input . Es ist ja eh Freitag.
Aber der TO hat ja wie du auch schon sagst genügend Input . Es ist ja eh Freitag.