Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
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
Inhaltsverzeichnis

Inhalt aus Combo&Textbox mit Spalten vergleichen

Inhalt aus Combo&Textbox mit Spalten vergleichen
15.02.2019 15:28:36
Tim
Hi,
ich habe ein Makro welches mir eine fortlaufende Artikelnummer generieren soll. Das funktioniert mit einem einzigen Suchkriterium ganz gut, jedoch habe ich 3 Kriterien die zu prüfen sind an denen ich gerade scheitere. Und zwar befinden sich in zwei Comboboxen "Katergorie" & "Unterkategorie" Begriffe, bei denen mir die beiden Anfangsbuchstaben für die Artikelstruktur dienen. Zudem der Erste Buchstabe von der Tatsächlichen Bezeichnung. Gibt es diese Struktur, dann soll nur der Zähler erhöht werden, gibt es diese noch nicht, so soll aus den genannten Kriterien eine neue Struktur erstellt werden.
Bisher betrachtet das Makro nur die erste Spalte deren 2 Großbuchstaben aus der "Kategorie" kommen. Wie erreiche ich, dass auch die anderen Beiden Kriterien geprüft werden, um entweder den Zähler zu erhöhen oder eine neue Struktur zu schreiben?
Private Sub Artikel_anlegen_Click()
Dim wkb As Workbook
Dim ws As Worksheet
Dim lz As Long
Dim Jahr As String
Dim Tag As String
Set wkb = ThisWorkbook
Set ws = wkb.Worksheets("Artikelnummern")
lz = ws.Cells(Rows.Count, 1).End(xlUp).Row
With ws
If .Range("A" & lz) = UCase(Left(Kategorie, 2)) Then
.Range("E" & lz) = .Range("E" & lz) + 1
.Range("F" & lz) = .Range("A" & lz) & "-" & .Range("B" & lz) & "-" & .Range("C" &  _
lz) & .Range("E" & lz) 'verkettet der Spalten zu einer Artikelnummer
Else
.Range("A" & lz + 1) = UCase(Left(Kategorie, 2))
.Range("B" & lz + 1) = UCase(Left(Unterkategorie, 2))
.Range("C" & lz + 1) = UCase(Left(Bezeichnung, 1))
.Range("E" & lz + 1) = 1
.Range("F" & lz) = .Range("A" & lz) & "-" & .Range("B" & lz) & "-" & .Range("C" &  _
lz) & .Range("E" & lz)  'verkettet der Spalten zu einer Artikelnummer
End If
End With
End Sub
https://www.herber.de/bbs/user/127683.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Inhalt aus Combo&Textbox mit Spalten vergleichen
15.02.2019 17:19:13
Matthias
Moin!
Also ich würde das erstmal in eine Schleife packen. Und von der ersten bis zur letzten Zeile durchlaufen. Dein COde prüft nur die letzte Zeile - was ist, wenn der Wert schon vorher kam. Beim Treffer kann man die Schleife ja abbrechen.
Dann in der Schleife die 3 Spalten prüfen (jeden Vergleich mit and zusammenfügen) oder nur die lettze Spalte (wo schon zusammengesetzt wurde) überprüfen (dazu intern schon zusammenfügen). DAs gnaze mit einer boolschen Variable absichern. Bei einem Treffer, in der ZEile den Zähler hochsetzten. Am ENde die Variable wieder prüfen. Wenn noch kein Wert da war, eine neue Zeile mit den Daten und Zähler 1:
VG
Anzeige
AW: Inhalt aus Combo&Textbox mit Spalten vergleichen
15.02.2019 20:11:50
Tim
Hi Matthias,
ich habe mich jetzt an der Schleife versucht, jedoch kläglich gescheitert, dazu reichen meine Kenntnisse leider nicht aus.
AW: Inhalt aus Combo&Textbox mit Spalten vergleichen
15.02.2019 20:51:41
Matthias
Moin!
Habe deine Datei mal geändert. Jetzt sollte es so wie gewünscht funktionieren. Aber nicht wundern, habe die lästigen Blattzugriffe vermieden.
https://www.herber.de/bbs/user/127688.xls
Wobei du Aufpassen musst. Bei den Bemerkungen gilt nur der 1. Buchstabe. Wenn du da "Achtung" oder "Alles" eingibst, schreibst du das in die selbe Zeile.
VG
AW: Inhalt aus Combo&Textbox mit Spalten vergleichen
15.02.2019 20:58:42
Tim
Hi Matthias, danke für den Hinweis und ja es funktioniert genauso wie ich mir vorgestellt habe, besten Dank!!
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige