Zahlenauslassung finden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Zahlenauslassung finden
von: Dominic
Geschrieben am: 28.06.2002 - 08:14:35

Hallo,
ich habe mir mit Excel eine kleine CD-Verwaltung gemacht. Ich habe jeder CD eine dreistellige ID zugeordnet (001, 002,....). Wenn ich jetzt eine CD aus der Verwaltung lösche, entsteht in der Zahlenreihe natürlich ein Lücke, wie kann ich mit einem Makro oder auch einfach nur mit einer Formel die "Lücken" finden, ohne per Hand alles selbst durchzugehen was bei über 200 CD´s schon recht aufwendig ist. Die Zahlen sind jeweils untereinander in der gleichen Spalte angeordnet, d.h. bsp. B17=001, B18=002, B19=003,... Die Reihenfolge sollte dabei außer Acht gelassen werden, da ich die CD´s nach dem Alphabet sortiert habe und dementsprechend die Nummern auch durcheinander dort stehen können: B17=051, B18=003, B19=020,....
Ist dies mit einem Makro möglich?
nach oben   nach unten

Nachfrage
von: Martin Beck
Geschrieben am: 28.06.2002 - 09:58:23

Hallo Dominic,

was soll denn mit den gefundenen Lücken geschehen? Willst Du neu durchnumerieren? Wenn ja, nach welchem Kriterium?

Gruß
Martin Beck


nach oben   nach unten

Re: Nachfrage
von: Dominic
Geschrieben am: 28.06.2002 - 10:01:32

Nein, ich möchte nur die Lücken ermitteln, damit ich bei meiner nächsten CD Eingabe die Nummern wieder verwenden kann.

nach oben   nach unten

Vorschlag
von: Martin Beck
Geschrieben am: 28.06.2002 - 10:27:13

Hallo Dominic,

wenn Deine Nummern in A1:A200 stehen, schreibe in einer leeren Spalte in die erste Zelle (z.B. in F1) folgende Formel

=WENN(ZÄHLENWENN($A$1:$A$200;ZEILE())=0;ZEILE();"")

und kopiere sie soweit nach unten, wie es Deiner höchszen vergebenen Nummer entspricht. Wenn die z.B. 234 ist, mußt Du bis F234 kopieren. Die größte Nummer kannst Du mit

=MAX(A1:A200)

ermitteln.

Gruß
Martin Beck

nach oben   nach unten

Re: Nachfrage
von: Rainer
Geschrieben am: 28.06.2002 - 10:27:54

Lieber Dominic!

Das ist recht einfach: Ich nehme an, dass du eine Liste mit den entsprechenden CD-Nummern hast. Lasse einfach eine Schleife durchlaufen vom 1. Eintrag weg und überprüfe, ob der Eintrag mit dem Schleifenindex übereinstimmt. Wenn nicht, ist das deine fehlende Listennummer. Die Liste muss natürlich aufsteigend nach CD-Nummern sortiert sein:

Annahme: Liste steht in Sheet(1), A1: Überschrift, A2=001, A3=002 etc.


Sub Leere_Stelle()
Dim As Integer

    For i = 1 To 10
        'Beginn der CD-Nummern in Zelle A2
        If Sheets(1).Cells(i + 1, 1).Value <> i Then
            MsgBox i
            Sheets(1).Cells(i + 1, 1).Select
            Exit Sub
        End If
    Next i

End Sub

Lieben Gruß
Rainer


nach oben   nach unten

Re: Vorschlag
von: Rainer
Geschrieben am: 28.06.2002 - 10:39:22

Lieber Martin!

Dein Vorschlag ist sehr interessant, denn ich bin schon so auf VBA versessen, dass ich meist nur mehr Lösungen in VBA suche.

Wenn man bei deiner Lösung dann schreibst:
=WENN(MIN(F1:F200)=0;MAX(A1:A200)+1;MIN(F1:F200)),
erhält man immer die aktuellste niedrigste fehlende CD-Nummer, wenn kein Eintrag fehlt, die nächst höhere!

Wieder was gelernt!

Lieben Gruß
Rainer

nach oben   nach unten

DANKE!!!!
von: Dominic
Geschrieben am: 28.06.2002 - 11:59:45

Super, danke euch. Funktioniert bestens :)
 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Zahlenauslassung finden"