Automatisch numerieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Automatisch numerieren
von: Daniele
Geschrieben am: 12.05.2002 - 19:13:49

Hallo xperts

wie kann ich xl dazu bringen bei einer Eingabe durch Maske (DataForm) eine fortlaufende Numerierung (in separaten Spalte) automatisch hinzufügen?
Der Zweck ist eine eindeutige Identifizierung der neu eingegebenen Werte.
und da es mehrere Tabellenblätter mit Eingabenmaske gibt soll die Numerierung die Form "A001" haben.

besten Dank für eure Ideen


nach oben   nach unten

Re: Automatisch numerieren
von: Daniele
Geschrieben am: 12.05.2002 - 19:31:07

PS: Die ID-Nummern sollen ausserdem NICHT veränderbar sein (wenn z.B. eine Zeile zwischendurch gelöscht wird)
Danke
nach oben   nach unten

Re: Automatisch numerieren
von: Tobi@s
Geschrieben am: 13.05.2002 - 06:45:23

Hallo,
das Problem kann ich mir nur per Makro vorstellen. Beschreib mal genau, an welcher Stelle der Wert eingetragen werden soll. Mit DataForm meinst du UserForm?
Gruß

nach oben   nach unten

Re: Automatisch numerieren
von: Daniele
Geschrieben am: 13.05.2002 - 08:23:49

Hallo Tobi@s

dachte ich auch so was ähnliches. Es handelt sich also um einen Eintrag durch DataForm (Menüpunkt Daten --> Maske)
Dabei werden Spalten A:G mit Daten gefüllt. Die Zusätzliche Spalte mit der ID kann entweder vor oder nach den Datenspalten liegen, egal, z.B in H.
Ich möchte mit dieser ID dann wieder auf die Zeile greifen können.

Gruß, DAniele

nach oben   nach unten

Re: Automatisch numerieren
von: Tobi@s
Geschrieben am: 13.05.2002 - 12:00:34

Hallo, versuche doch mal folgendes:
Der Index soll in Spalte J erscheinen (dadurch erscheint er nicht als Wert in der Datenmaske. Sobald die Form geschlossen wird, trägt er eine lfd. Nummer als Wert (nix Formel) ein.
Am Besten eignet sich, den Original-Befehl "Extras/Maske" durch diesen Befehl zu ersetzen.
Gruß
nach oben   nach unten

Re: Automatisch numerieren
von: Tobi@s
Geschrieben am: 13.05.2002 - 12:02:53

Ach so, und hier der Code...

ActiveSheet.ShowDataForm 'Startet Dialogbox
Ro = 65536
Co = 256
Erg = Cells(Ro, Co).Value 'letzter Eintrag
LZe = Range("J:J").End(xlDown).Row + 1 'letzter Eintrag
If Cells(LZe, 1).Value <> "" Then 'in der Zeile befinden sich Daten
With Cells(LZe, 10)
.Value = Erg + 1
.NumberFormat = "0000"
End With
End If
Cells(Ro, Co).Value = Erg + 1

nach oben   nach unten

Re: Automatisch numerieren
von: Daniele
Geschrieben am: 13.05.2002 - 19:43:00

hallo Tobi@s

vielen Dank für den Code
so weit funktioniert es. allerdings gibt es 2 Probleme damit:
1. wenn ich ein Datensatz lösche wird nicht die ganze Zeile, sondern nur die betreffenden Zellen gelöscht, was zur Folge hat, dass die Datensätze nachrücken und somit die Nummern nicht mehr mit Daten übereinstimmen. ich möchte aber die Num. fest an den datensatz binden.
2. beim selben Vorgang (Datensatz löschen) kommt es vor, das eine Nummer 2 mal erzeugt wird, was ich umbedingt auch verhindern müsste.
Die sequenzielle Numerierung ist dabei nicht wichtig. es könnten sogar Zufallszahlen sein. umsomehr wäre eine eindeutige, unveränderliche numerierung von nöten.
kannst du mir weiter helfen?

Gruß, Daniele

nach oben   nach unten

Re: Automatisch numerieren
von: Tobi@s
Geschrieben am: 14.05.2002 - 07:13:44

Hallo Daniele
dann funktioniert es doch nur richtig, wenn die Nummern-Spalte in Spalte H (sprich anschließend) steht. Verschiebe einfach in Excel diese Spalte und ändere das Makro ab:
Statt Range("J:J") muss es nun Range("H:H") heißen und
statt With Cells(LZe, 10) With Cells(LZe, 8).
Nun ist zwar die Sache, dass er die lfd. Nummer mit als Zeile anzeigt, aber da darfst du eben nix eingeben - ansonsten müsste ich das Programm noch ein bisschen erweitern (also trotz Eingabe lfd. Nummer eintragen).
Mit der Doppelten Nummer konnte ich nicht so nachvollziehen, da er die letzte Nummer eigentlich in der allerletzten Zeile und Spalte speichert und bei einer neuen Nummer immer 1 dazurechnet.
nach oben   nach unten

Re: Automatisch numerieren
von: Daniele
Geschrieben am: 14.05.2002 - 13:41:47

Hallo Tobi@s

also folgendes:
das mit der spalte "H" ist i.o. mit der numerierung nun auch (ich hatte die ID zu den bestehenden Zeilen von Hand ausgefüllt, was das Problem mit den doppelten Einträge verursachte).
jetzt möchte ich aber trotzdem die Numerierung auf Spalte "A" haben weil ich dann mit SVERWEIS auf die Zeile greifen will (oder kann SVERWEIS auch Einträge Rechts vom Wert suchen?).

Da die Tabelle von mehreren Personen benützt wird, wäre es sicherer trotz Eingabe lfd. Nummer eintragen lassen. oder ginge es auch das Eingabefeld partout verschwinden lassen?

könntest du mir nochmals behilflich sein un den Code so umzuändern?
du bist guuuut
Gruß, Daniele

nach oben   nach unten

Re: Automatisch numerieren
von: Tobi@s
Geschrieben am: 15.05.2002 - 08:02:05

Hallo,
danke für das Kompliment...

Du hast recht, bei SVerweis muss die ID an erster Stelle stehen.
So, hier nun das neue Programm:

Die ID steht nun in Spalte A - selbst wenn Einträge vorgenommen werden, werden diese durch die Nummer überschrieben.
Ich habe aber nochwas entdeckt: blende doch mal Spalte A aus...
Dadurch wird diese Spalte auch nicht in der Datenmaske angezeigt - der Eintrag der ID erfolgt trotzdem.

Viel Spaß

nach oben   nach unten

Re: Automatisch numerieren
von: Daniele
Geschrieben am: 15.05.2002 - 11:02:32

Hallo Tobias

Habe dich nicht unterschätzt!
somit klappt es einwandfrei.

besten dank für deine mühe

Gruß, daniele


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Automatisch numerieren"