Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zahl automat. generieren und in Zelle schreiben

Zahl automat. generieren und in Zelle schreiben
06.12.2013 10:41:58
Helmut
Hallo Rudi, liebe User und VBA-Profis!
Ich habe wieder mal eine Aufgabe in Excel, die ich nicht lösen kann.
Es geht um eine 8-stellige Nummer, die aus 3 "Gruppen" besteht.
Die erste Gruppe ist 3-stellig und soll aus einem Auswahlfeld (Kombinationsfeld aus fixer Liste) in eine Excel-Zelle eingefügt werden.
Die zweite Gruppe ist 1-stellig und soll ebenfalls aus einem Auswahlfeld (Kombinationsfeld aus fixer Liste) in die selbe Excel-Zelle an die ersten 3 Stellen angefügt werden.
Die dritte Gruppe ist 4-stellig und eine laufende Nummer beginnend mit 0001, 0002, usw. bis irgendwann die letztmögliche Nummer 9999 erstellt wird.
Der nächste Nummerneintrag soll unter die Zelle der zuletzt erstellte 8-stellige Nummer erfolgen.
Jetzt kommt noch etwas ganz Wichtiges zur 4. Stelle der Nummer:
Diese Stelle kann 3 Werte annehmen, nämlich 4,5 oder 6.
Für JEDE dieser 3 möglichen Werte soll die dritte Gruppe bestehend aus 4 Ziffern wie oben beschrieben mit 0001 beginnen und irgendwann bei 9999 enden!
Die gesamte 8-stellige Zahl soll dann in die nächste Zeile eingetragen werden, nachdem vom User die 4. Stelle aus der Liste gewählt worden ist. Kann aber auch nach einem Buttonklick sein, wenn das einfacher zu programmieren ist.
Als Beispiel schicke ich hoffentlich zur Verdeutlichung ein Excel-Beispiel mit.
Ich hoffe du, ihr könnt mir hier ein VBA-Skript dazu senden, den ich bin nach wie vor kein VBA-Profi.
Danke im Voraus!
Liebe Grüße
Helmut
https://www.herber.de/bbs/user/88395.xlsx

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zahl nach Vorgabe generieren
06.12.2013 11:48:50
Erich
Hi Hedlmut,
das könnte damit gehen:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngN As Long, lngZ As Long, arW, zz As Long, lngM As Long
If Target.Count = 1 And Not Intersect(Cells(5, 4), Target) Is Nothing Then
If Cells(3, 4) > 0 And Cells(5, 4) > 0 Then
lngN = (10 * Cells(3, 4) + Cells(5, 4))
lngZ = Cells(Rows.Count, 1).End(xlUp).Row
arW = Cells(3, 1).Resize(lngZ - 2)
For zz = 1 To lngZ - 2
If Fix(arW(zz, 1) / 10000) = lngN Then
If lngM 
Und hier die Mappe dazu: https://www.herber.de/bbs/user/88402.xlsm
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Zahl nach Vorgabe generieren
06.12.2013 13:09:59
Helmut
Hi Erich!!
Danke sehr!!! Es klappt!!
Wunderbar!
Ich danke dir sehr! Wünsche dir ein schönes Wochenende!
Liebe Grüße aus Wien,
Helmut

AW: Zahl nach Vorgabe generieren
06.12.2013 13:30:25
Helmut
Hi!
EinFrage doch noch:
Wo muss man umstellen im Code, wenn sich die Liste erweitert (Liste 1 und auch Liste 2).
Das habe ich aus dem Code nicht herauslesen können.
Danke!
LG
Helmut

Anzeige
Gültigkeitsprüfung
06.12.2013 16:54:59
Erich
Hi Helmut,
danke für deine Rückmeldung! :-)
Die beiden Listen haben mit dem Code gar nichts zu tun.
Sie werden nur bei den Gültigkeitsprüfungen der beiden Eingabezellen verwendet.
Wähl mal eine der beiden Zellen aus und schau nach Daten - Gültigkeit oder Datenüberprüfung
(ich weiß jetzt nicht, wie das in XL2003 bezeichnet wird). Da kannst du die Liste festlegen.
Ich wünsche Dir und allen anderen ein schönes Wochenende!
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige