Anzeige
Archiv - Navigation
1540to1544
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

Bereich vergleichen

Bereich vergleichen
21.02.2017 09:04:55
Michael
Hallo zusammen,
aus einer monatlich generierten Excel - Tabelle kopiere ich mir zwecks Auswertung die Spalten A bis C und E in einem neuen Tabellenblatt in den Zeilen A bis D.
Normalerweise sind es 6 Zeilen (inklusive Überschrift). Die werden "aufbereitet" und in einem anderen Tabellenblatt kopiert. Das alles klappt soweit ohne Probleme.
Ab Dezember kann es vorkommen, dass nicht 5 sondern nur 4 Produkte angezeigt werden (das fehlende Produkt wurde nicht bebucht, somit null und wird in der monatlichen Auswertung auch nicht mit aufgeführt). Wenn dann fehlt Produkt 2
Damit aber die Zahlen immer in der richtigen Reihenfolge eingetragen werden, habe ich mir gedacht, dass per VBA die übertragende Produkte (Spalte B) mit den in Zelle H2 bis I6 Produkte verglichen werden. Wenn Produkt 2 fehlt, Die Zellen A2 bis D5 ausschneiden und in Zelle A3 einfügen. Dann Zelle H3 und I3 kopieren und in Zelle B2 einfügen.
Zur besseren Übersicht habe ich mal eine Datei hochgeladen.
https://www.herber.de/bbs/user/111618.xlsx
Für eure Hilfe bedanke ich mich schon einmal im voraus.
Gruß
Michael
P.S.: Wäre nett, wenn ihr den Code eventuell zusätzlich hier einstelle könnt; da ich bei einer Excel - Datei mit Makros mich erst an einem anderen PC anmelden muss.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich vergleichen
21.02.2017 21:37:27
Piet
Hallo Michael
das Problem konntest du auch durch aufzeichnen mit dem Makro Recorder lösen.
Anbei zwei Makros mit verschiedener Funktionsweise. Cut verschieben war dein eigener Vorschlag.
Dabei stimmten m.E. aber einige Zeilen nicht. Das zweite ist ein richtiges Universal Makro.
Hier interessiert mich nicht welches Product fehlt? Das kann statt Berta auch was anderes sein.
Das zweite kopiert für jedes vorhandene Product die Zahl in die betreffende Spalte J.
mfg Piet
Sub Produkt_ausfüllen()
Dim AC As Object, AJ As Object
For Each AC In Range("B2:B6")
For Each AJ In Range("H2:H6")
If AJ.Value = AC.Value Then
AJ.Cells(1, 3) = AC.Cells(1, 3)
End If
Next AJ
Next AC
End Sub
Sub Cut_Verschieben()
Range("A3:D5").Cut   'gemeint ist wohl A3 statt A2
Range("A4").Select   'Ziel sollte A4 sein statt A3
ActiveSheet.Paste
Range("H3:I3").Copy
Range("B3").Select   'Ziel sollte A4 sein statt A3
ActiveSheet.Paste
Range("A3") = Range("A2")  'Monat kopieren ?
Application.CutCopyMode = False
End Sub

Anzeige
AW: Bereich vergleichen
22.02.2017 08:40:38
Michael
Hallo Piet,
schönen Dank erst einmal für deine Antwort.
Das Problem kann man mit einem Makro-Rekorder leider nicht lösen.
Vielleicht habe ich mich auch zu umständlich ausgedrückt. Es kann sein, dass bei der monatlichen Auswertung nur 4 Produkte (A,C,D,E wenn dann fehlt nur B) ausgeworfen werden; es kann aber auch sein, dass alle 5 Produkte (A-E) angezeigt werden. Per VBA soll verglichen werden ob die Zellen B2 bis B6 identisch mit dem Inhalt der Zellen H2 bis H6 sind; wenn Produkt 2 fehlt, die Zellen A3 bis D5 ausschneiden und in Zelle A3 einfügen. Dann Zelle H3 und I3 kopieren und in Zelle B2 einfügen.
Was ich nicht hinbekomme, ist das Vergleichen.
Das Cut_Verschieben kann man nur verwenden, wenn das Produkt B nicht vorhanden ist.
Das Produkt_ausfüllen kann ich nehmen, habe es so angepasst, dass bei leerer Zelle J3 dort eine Null eingetragen wird. Muss dann nur einige andere Makros anpassen, was aber keine Schwierigkeit ist.
Trotzdem nochmals schönen Dank
Sub Produkt_ausfüllen()
Dim AC As Object, AJ As Object
For Each AC In Range("B2:B6")
For Each AJ In Range("H2:H6")
If AJ.Value = AC.Value Then
AJ.Cells(1, 3) = AC.Cells(1, 3)
End If
Next AJ
Next AC
If Range("J3") = "" Then
Range("J3") = 0
End If
End Sub
Gruß
Michael
Anzeige
geschlossen oWt
23.02.2017 16:36:43
Piet
,,,

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige