Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1868to1872
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

Mehrere Zeilen vergleichen und auswerten

Mehrere Zeilen vergleichen und auswerten
08.02.2022 20:26:13
Butz
Hallo zusammen,
ich hänge an einem Problem welches ich mit VBA lösen möchte.
In meiner Spalte A stehen mehrere Auftragsnummern, auch öfters doppelt. Zu jeder Nummer gibt es eine bestimmte Menge + eine Menge die entweder Kommissioniert ist oder halt nicht.
Ich würde jetzt gerne eine MSG Box haben die mir Anzeigt welche Herkunftsnr. Komplett kommissioniert sind. In meiner Beispiel Tabelle sollte es also so aussehen:
Ausgabe:
SA017022 = Nicht Komplett kommissioniert
SA017085 = Komplett kommissioniert
SA017110 = Komplett kommissioniert
SA017112 = Komplett kommissioniert
SA017118 = Nicht Komplett kommissioniert
Die Original Tabelle umfasst noch mehr Zeilen mit immer unterschiedlichen Nummern. Richtig super wäre es wenn ich zum Schluss die Möglichkeit hätte die MSG Box auszudrucken.
Ich hoffe ich konnte mein Problem verständlich ausdrücken.
Vielen Dank schon einmal im Voraus.
https://www.herber.de/bbs/user/151001.xlsx

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Zeilen vergleichen und auswerten
08.02.2022 21:29:06
AlterDresdner
Hallo Butz,
als erstes Angebot (Ergebnisse in ein neues Blatt):
Option Explicit
Option Base 1

Sub Kommission()
Const NoKomm = "Nicht komplett kommissioniert"
Const IsKOmm = "Komplett kommissioniert"
Dim zeile As Long, erg As String, Zielblatt As Object, Zielzeile As Long
Dim Zeilen() As Boolean, AnzZ As Long, Anr As String, found As Variant
With ActiveSheet
AnzZ = .Cells(.Rows.Count, 1).End(xlUp).Row - 1
ReDim Zeilen(AnzZ + 1)
Set Zielblatt = Worksheets.Add(after:=Sheets(Sheets.Count))
Zielzeile = 2
Zielblatt.Cells(1, 1) = "Herkunftsnr."
For zeile = 2 To AnzZ + 1
If Not Zeilen(zeile) Then
Anr = .Cells(zeile, 1)
erg = IIf(Trim(.Cells(found.Row, 4)) = "", NoKomm, IsKOmm)
Set found = .Range("A:A").Find(what:=Anr, lookat:=xlWhole)
Zielblatt.Cells(Zielzeile, 1) = Anr
Do
Set found = .Range("A:A").FindNext(found)
Zeilen(found.Row) = True
If zeile  found.Row Then erg = IIf(Trim(.Cells(found.Row, 4)) = "", NoKomm, erg)
Loop Until found.Row = zeile
Zielblatt.Cells(Zielzeile, 2) = erg
Zielzeile = Zielzeile + 1
End If
Next zeile
End With
End Sub
Gruß der ALteDresdner
Anzeige
AW: Mehrere Zeilen vergleichen und auswerten
09.02.2022 09:23:01
Butz
Guten Morgen AlterDresdner,
vielen Dank für deine schnelle Antwort. Leider Funktioniert der Code nicht. Ich habe mal einen Screenshot vom Problem gemacht.
Vielleicht hast du dazu ja eine Idee/Lösung?
Viele Grüße
Userbild
Userbild
AW: Mehrere Zeilen vergleichen und auswerten
09.02.2022 10:08:00
Piet
Hallo
ohne deinen Code komplett zu verstehen sehe ich auf Anhieb eine Unstimmigkeit!! Bei erg= beziehst du die Zeile auf found.Row!
"found" wird aber danach mit einer Set Anweisung gesetzt. Das kann meines Erachtens so nicht funktionieren. Muss Set nicht vor erg= stehen?
mfg Piet
Anzeige
AW: Mehrere Zeilen vergleichen und auswerten
09.02.2022 12:21:26
AlterDresdner
Hallo Butz,
wie auch immer das passieren konnte:
Tausche im Code die Reihenfolge
....
If Not Zeilen(zeile) Then
Anr = .Cells(zeile, 1)
Set found = .Range("A:A").Find(what:=Anr, lookat:=xlWhole)
erg = IIf(Trim(.Cells(found.Row, 4)) = "", NoKomm, IsKOmm)
Zielblatt.Cells(Zielzeile, 1) = Anr
....
Gruß der ALteDresdner
AW: Mehrere Zeilen vergleichen und auswerten
09.02.2022 14:06:22
Butz
Hallo Zusammen,
hat super Funktioniert. Jetzt kann ich alles noch etwas erweitern, das hoffe ich dann jetzt selber hinzubekommen.
Vielen Vielen Dank an euch alle, Ihr habe mir locker 30 min Zeit pro Tag damit eingespart.
Viele Grüße
Anzeige
AW: Mehrere Zeilen vergleichen und auswerten
09.02.2022 10:16:37
Piet
Nachtrag: zum testen einfach mal erg= hinter Set found setzen und schauen was dann passiert?
Vielleicht klappt der Code dann ja? Einen Versuch ist es wert!
mfg Piet

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige