VBA: Suchen von Verkettung / Prüfung / Weiterzählung
#1
Guten Morgen liebes Forum,

hätte nochmals eine Frage: Huh

Ich habe eine Datenbank, in welcher Nummern mit Kürzeln verkettet in einem vom Anwender festgelegten Bereich bzw. mittels Schleife hochgezählt werden (funktioniert).

Nun habe ich ein UserForm, in welchem meine Kollegen Produkte eingeben sowie weitere Informationen und die Nummern automatisch anhand dreier Kriterien (Name Lieferant, Produktart und Kürzel) vergeben werden sollen (ähnlich eines WVERWEIS mit drei Kriterien). 

Zu meiner Frage: Könnte mir jemand helfen, den Code auf die Beine zu stellen, in welchem in einer Spalte (in der Beispieldatei im Blatt "Produkte" Spalte "D") geprüft wird ob die Kombination bereits in der gleichen Spalte vergeben ist und ob die Zahl in der Vorgabe (Blatt "Nummerierung) vorhanden ist - falls ja, soll "im Prinzip" das gefundene Kürzel um 1 hochgezählt werden (da diese Nummer ja dann frei ist) und im UserForm angezeigt werden (damit der Anwender sich keine Gedanken machen muss, welche Nummer als nächstes kommt).  

Hoffe habe mein Problem klar geschildert, ansonsten gerne nachfragen.

Danke euch vielmals und lieben Gruss,
Domi


Angehängte Dateien
.xlsx   Beispiel autom. Nummerneintrag.xlsx (Größe: 11,31 KB / Downloads: 7)
Antworten Top
#2
Hallöchen,

Du kannst im Code auch die Blattfunktionen nutzen, z.B. WorkSheetFunction.Countif und damit entsprechend zählen, ob bzw. wie oft etwas vorhanden ist.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo schauan,

danke für deinen wie immer gern gesehenen Lösungsvorschlag.

Habe den Eindruck habe mein Problem aber nicht gut genug geschildert - muss mir wohl selber klar werden was ich genau erreichen will 16

Trotzdem danke!

LG Domi
Antworten Top
#4
Hallo Domi,

ich versuche in der Regel zuerst, ohne Datei aus dem Text die Aufgabenstellung herauszufinden.

Wenn Du in Spalte D das Vorhandensein einer Kombination herausfinden willst, könntest Du das auf einem Blatt mit ZÄHLENWENN herausfinden oder im Code eben mit der WorkSheetFunction.

Das wäre erst mal der erste Schritt.

Am Anfang schreibst Du, dass einer Zahl ein Kürzel hinzugefügt wird, das sieht dann danach aus, dass das Ding ein Text wird.

08-15 oder ABC1234 Da kann man aus 08-15 eine 09-15 machen oder aus ABC1234 ein ABD1234

Die Aufgabe wäre also relativ einfach zu beschreiben.

Wenn Du 3-stellige Kürzel hast und keine Sonderzeichen dazwischen könnte man das einfach so machen und die Spaltenbezeichnungen nutzen Smile , hier mal mit festen Parametern, die müsste man noch flexibilisieren:

Arbeitsblatt mit dem Namen 'Tabelle1'
D
1ABC1234
2SPD1313
3CDU4711
4FDP0815
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.1) erstellt. ©Gerd alias Bamberg

Sub test()
If WorksheetFunction.CountIf(Range("D1:D4"), "ABC1234") Then Cells(5, 4) = Replace(Range("ABC1234").Offset(0, 1).Address, "$", "")
End Sub

In D5 würde dann ABD1234 erscheinen
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste