Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
684to688
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
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kreditorennummern

Kreditorennummern
24.10.2005 13:54:59
Hoffi
Hallo zusammen,
hab da mal ne kleine Hürde, die ich überwinden muss, vielleicht steh ich auch nur aufm Schlauch und komm net drauf. Also, hab eine Tabelle mit ca. 2000 Lieferantennummern, hab sie fortlaufend sortiert. Jetzt das Problem, da in unserer Buchhaltung mehrere Leute Lieferanten anlegen, kommt es immer wieder vor, das zwischen zwei Lieferantennummern, einige Plätze frei bleiben.
Beispiel:
G2001895
G2001896
G2001900
G2001901
G2001902
usw.
Gibt es einen Code, der mir diese freien Nummern also in unserem Beispiel wäre es G2001897, G2001898, G2001899, anzeigt oder in eine extra Spalte ausgibt.
Tüfftel die ganze Zeit schon, komm aber net drauf.
Vielen Dank schonmal für Eure Tips und Lösungen.
Grüße
Hoffi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kreditorennummern
24.10.2005 14:07:50
Dr.
Hi,
mal ohne VBA: markier zwei zusammenhängende Nummern und zieh sie runter bis zur letzten vergebenen Nummer. Jetzt über eine Vergleichsfunktion die fehlenden suchen.
AW: Kreditorennummern
24.10.2005 14:22:07
UweD
Hallo
hab mal was gebastelt

Sub Lieferanten()
Dim TB1, TB2, SP1%, SP2%, LR%, I%, A#, B#, N%, Str$, J%
'Notwendige Anpassungen
Set TB1 = Sheets("Tabelle1")
Set TB2 = Sheets("Tabelle2")
SP1 = 1 'LeseSpalte A
SP2 = 1 'SchreibSpalte A
Str = "G" 'Prefix
LR = TB1.Cells(Rows.Count, SP1).End(xlUp).Row 'letzte Zeile der Spalte
N = 0
For I = 2 To LR
A = Mid(TB1.Cells(I, SP1), 2) * 1
B = Mid(TB1.Cells(I - 1, SP1), 2)
If A - B > 1 Then
For J = 1 To A - B - 1
N = N + 1
TB2.Cells(N, SP2).Value = Str & (B + J)
Next
End If
Next
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Kreditorennummern
24.10.2005 14:32:42
Hoffi
Hallo Uwe,
danke für den Code, es klappt ganz gut, bis die Lieferantennummer bei G2033466 angekommen ist, dann gehts net weiter und es gibt einen Laufzeit Fehler 6 'Überlauf', denn die nächste freie nach der letzten ist G2100000. sind Excel dann wohl zuviel dazwischen, oder?
Ansonsten hilft mir der Code schon mal weiter. Topski.
Danke nochmal
Gruß Hoffi
AW: Kreditorennummern
24.10.2005 14:57:20
UweD
Hallo
ja die Variable I, J und N sind nur als Integer max (32.767) definiert.
wenn sie als double definiert werden, wäre das Problem gelöst, dann ist aber die Max. Zeilenzahl von Excel ein Hinderungsgrund (65536).
so klappt es, dann wird die Spalte gewechselt

Sub Lieferanten()
Dim TB1, TB2, SP1%, SP2%, LR%, I#, A#, B#, N#, Str$, J#
'Notwendige Anpassungen
Set TB1 = Sheets("Tabelle1")
Set TB2 = Sheets("Tabelle2")
SP1 = 1 'Spalte A
SP2 = 1 'Spalte A
Str = "G"
LR = TB1.Cells(Rows.Count, SP1).End(xlUp).Row 'letzte Zeile der Spalte
N = 0
For I = 2 To LR
A = Mid(TB1.Cells(I, SP1), 2) * 1
B = Mid(TB1.Cells(I - 1, SP1), 2)
If A - B > 1 Then
For J = 1 To A - B - 1
N = N + 1
TB2.Cells(N, SP2).Value = Str & (B + J)
If N = 65536 Then
N = 0
SP2 = SP2 + 1
End If
Next
End If
Next
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Kreditorennummern
24.10.2005 15:11:52
Hoffi
Hallo Uwe,
Danke nochmal, klappt bestens.
Grüße
Hoffi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige