Fehlende Nummer in einem Nummernkreis ermittel

fredolin

Erfahrenes Mitglied
Hey,

da ich nicht viel mit Excel zu tun hatte, stehe ich nun vor einem Problem. Aus einem Warenwirtschaftsprogramm erstelle ich mir eine Liste mit Artikelnr. Diese List wird als CSV Datei in Excel geöffent. Aus dieser Liste möchte ich die fehlenden Artikelnr finden.

Beispiel
A​
1
2 124335
3 124336
4 124337
5 124338
6 124339
7 124345
8 124346
9 124347
10 124349
11 124355
12 124358
13 124359

Wie kann ich in dieser fortlaufenden Zahlenliste die fehlenden Nummern ermitteln? Kann mir da jemand helfen oder einen Denkanstoß geben.

Ich sag Danke an alle die hier mir nützliche Informationen geben


Danke, Fredolin
 
Zuletzt bearbeitet:
Hallo Fredolin,

gebe in das Modul der Tabelle diesen Code ein:
Code:
Option Explicit

Sub LueckenFinden()
   Dim lRow As Integer
   Dim strFehlende As String
   Dim i As Integer
  
   lRow = Cells(Rows.Count, 1).End(xlUp).Row
   For i = 2 To lRow - 1
      If Cells(i + 1, 1) <> Cells(i, 1) + 1 Then
         strFehlende = strFehlende & CStr(Cells(i, 1) + 1) & ", "
      End If
   Next i
   strFehlende = Left(strFehlende, Len(strFehlende) - 2)
   MsgBox "Folgende Nummern fehlen:" & vbCrLf & strFehlende
End Sub

Falls du dazu noch Hilfe brauchst, dann schau einfach einmal bei Excel-ist-sexy nach.
 
Hallo Drogist,

kann ich die Ausgabe auch direkt in einem Excel-Blatt machen. So wird mir das Ergebnis in einer Box angezeigt, wo ich die Zahlen nicht raus kopieren kann.
Geht das??


Lieben Gruß
Fredolin
 
Code:
Option Explicit

Sub LueckenFinden()
   Dim lRow As Integer
   Dim strFehlende As String
   Dim i As Integer
   Dim dummy() As String
 
   lRow = Cells(Rows.Count, 1).End(xlUp).Row
   For i = 2 To lRow - 1
      If Cells(i + 1, 1) <> Cells(i, 1) + 1 Then
          
         strFehlende = strFehlende & CStr(Cells(i, 1) + 1) & ", "
      End If
   Next i
   strFehlende = Left(strFehlende, Len(strFehlende) - 2)
   dummy=Split(strFehlende, ",")

   For i=LBound(strFehlende) To UBound(StrFehlende)

         Cells(i+2,2)=Trim$(strFehlende(i))  'Ausgabe in Spalte B

   Next
End Sub
 

Neue Beiträge

Zurück