automatisch nach oben zählendes ID-Feld

12/05/2008 - 12:09 von omich22 | Report spam
Hallo zusammen,

ich bin gerade dabei eine Excel-File zu erstellen, dass einen
Materialbestand von verschiedenen Geràten erfassen soll.

Die Datenbank ist so aufgebaut, dass die erste Spalte jedes
Tabellenblatts (jedes Geràt ist auf einem Extratabellenblatt geführt)
eine unique_ID beeinhaltet.

Nun bin ich auf der Suche nach einer Formel bzw. Anweisung, die mir
diese unique_ID über alle Tabellenblàtter hinweg auch wirklich
garantiert. Sprich die Zelle der unique_ID soll bei einer Dateneingabe
in selbige Zeile um eins nach oben Zàhlen und diesen errechneten Wert
dann auch behalten, diese Funktion soll möglichst über alle
Tabellenblàtter hinweg funktionieren.

Meine bisherigen Versuche habe ich mit anzahl2() gestartet, bin aber
damit nicht wirklich weiter gekommen. Außerdem sieht die zwei
Hauptprobleme, die Verknüpfung über alle Tabellenblàtter hinweg, und
das Beibehlaten des um eins nach oben gezàhlten Wertes in der
unique_ID-Zelle. (In meinen Versuchen nahmen immer alle Zellen obehalb
des neue gezàhlten Feldes auch dessen Wert an [habe einfach mit dem
Kreuz die Formel in die unteren Zellen gezogen]).


Ich hoffe ihr könnt mir diesbezüglich weiter helfen.


Freundliche Grüße
 

Lesen sie die antworten

#1 {Boris}
12/05/2008 - 16:18 | Warnen spam
Hi,

On 12 Mai, 12:09, wrote:

ich bin gerade dabei eine Excel-File zu erstellen, dass einen
Materialbestand von verschiedenen Geràten erfassen soll.

Die Datenbank ist so aufgebaut, dass die erste Spalte jedes
Tabellenblatts (jedes Geràt ist auf einem Extratabellenblatt geführt)
eine unique_ID beeinhaltet.

Nun bin ich auf der Suche nach einer Formel bzw. Anweisung, die mir
diese unique_ID über alle Tabellenblàtter hinweg auch wirklich
garantiert. Sprich die Zelle der unique_ID soll bei einer Dateneingabe
in selbige Zeile um eins nach oben Zàhlen und diesen errechneten Wert
dann auch behalten, diese Funktion soll möglichst über alle
Tabellenblàtter hinweg funktionieren.

Meine bisherigen Versuche habe ich mit anzahl2() gestartet, bin aber
damit nicht wirklich weiter gekommen. Außerdem sieht die zwei
Hauptprobleme, die Verknüpfung über alle Tabellenblàtter hinweg, und
das Beibehlaten des  um eins nach oben gezàhlten Wertes in der
unique_ID-Zelle. (In meinen Versuchen nahmen immer alle Zellen obehalb
des neue gezàhlten Feldes auch dessen Wert an [habe einfach mit dem
Kreuz die Formel in die unteren Zellen gezogen]).



Sinnvoller Weise musst Du das per VBA erledigen. Prinzip:
Mit der MAX-Funktion (3D-Bezug über alle Blàtter - diese Formel kannst
Du auch im Tabellenblatt hinterlegen) das Maximum aus den ID-Spalten
auslesen, um 1 erhöhen und - geknüpft an beispielsweise das Change-
Ereignis - diese ID eintragen. Beim nàchsten Eintrag dann das selbe
Spiel von vorn.
Ohne VBA - und auch ohne Iteration - geht das nur mit ner Krücke:
Ebenfalls (wie vorgenannt) in einer Zelle das Maximum aus allen ID-
Spalten ermitteln und um 1 erhöhen:

=MAX(Tabelle1:Tabelle3!A:A)+1

Gib der Zelle den Namen **Next_ID** (ohne die **).
In Deinen ID-Spalten hinterlegst Du jetzt via Daten-Gültigkeit-Liste
eine Auswahlliste mit dem Bezug auf die Zelle namens Next_ID.
So kannst Du die nàchste ID-Nummer zuweisen - allerdings mit
zusàtzlichem Klick.

Grüße Boris

Ähnliche fragen