Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wenn-Dann
#1
Hallo zusammen,

ich bin schon eine Weile auf der Suche und wäre unglaublich froh, wenn mir hier eine/r helfen könnte.

Folgendes Problem habe ich:
Ich habe zwei Tabellenblätter. Tabellenblatt 1 (Export) enthält Informationen und Daten, Tabellenblatt 2 (Auszug) ist leer. Zeile 1 ist in beiden Tabellenblättern gleich.
Sobald in Spalte I des Tabellenblattes 1 der Wert "unknown" oder "unavailable" auftaucht, soll die Zeile mit diesem Wert in Tabellenblatt 2 kopiert werden. Zeilen ohne diese Werte sollen nicht kopiert werden. Zusätzlich umfasst Tabellenblatt 1 ca. 2.500 Einträge - dies wäre der Bereich, der abgedeckt werden sollte.

Ich dank dir schon jetzt so sehr.
Vielen Dank und einen schönen Abend euch noch.
Antworten Top
#2
Hallo,

kombiniere mal die Funktionen INDEX() und AGGREGAT(). Für eine detailliertere Antwort benötige ich eine kleine Beispieltabelle (kein ScrShot!!). https://www.clever-excel-forum.de/thread-326.html
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Hilfesuchender1512
Antworten Top
#3
Hallo,

ich würde das nur mit Tabellenblatt 1 machen. Dort einfach filtern.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#4
Das habe ich schon versucht - wichtig wäre hier vielleicht noch die Information, dass ein einfach Filtern zwar möglich wäre, aber ein automatisierter Vorgang einfacher. Parallel zu diesem Befehl muss, sobald ein Wert in Spalte A des Tabellenblattes 2 gleich einem Wert in Spalte A Tabellenblatt 3 ist rot hinterlegt werden.

Dies wird durch eine bedingte Formatierung möglich sein, richtig?


Angehängte Dateien
.xlsx   Mappe2.xlsx (Größe: 9,6 KB / Downloads: 3)
Antworten Top
#5
Hallöchen,

eine einfache Methode wäre, die Daten entsprechend zu filtern. Dann kannst Du sie einfach kopieren und in der anderen Tabelle einfügen. Dafür könnte man auch ein kleines Makro schrieben, im Prinzip so:

Code:
Sub Makro2()
    'Spalte I als letzte Spalte festlegen
    Const iCol As Integer = 9
    'Variable fuer letzte belegte Zeile
    Dim iRow As Integer
    'Letzte belegte Zeile anhand Spalte I festlegen
    iRow = Cells(Rows.Count, 9).End(xlUp).Row
    'Mit dem Bereich A1 bis I.. letzte belegte Zeile
    With Range(Cells(1, 1), Cells(iRow, iCol))
      'Autofilter setzen (ggf. code erweitern und pruefen, ob schon gesetzt)
      .AutoFilter
      'Nach SPalte I filtern
      .AutoFilter Field:=9, Criteria1:= _
        "=*unavailable*", Operator:=xlOr, Criteria2:="=*unknown*"
      'gefilterte Daten nach Tabelle 2 Zelle A1 kopieren
      .Copy Sheets("Tabelle2").Range("A1")
      'Autofilter aufheben
      .AutoFilter
    'Ende Mit dem Bereich A1 bis I.. letzte belegte Zeile
    End With
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hi,

hier mein Vorschlag, wie bereits geschrieben mit INDEX() und AGGREGAT:

Arbeitsblatt mit dem Namen 'Export'
ABCDEFGHIJ
1LadenStandLandPLZStadtStraßeLadenbesitzerStandbesitzerStatusDatum
2ABCJD001DEXXXXXBerlinXXHeinzWilliunknownheute
3DEFJD001DEXXXXXBerlinXXHerbertWillineuheute
4ABDJD002DEXXXXXBerlinXXWolfgangWilliunavailableheute
5DFEJD002DEXXXXXBerlinXXPeterWilliunknownheute
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Arbeitsblatt mit dem Namen 'Auszug'
ABCDEFGHIJ
1LadenStandLandPLZStadtStraßeLadenbesitzerStandbesitzerStatusDatum
2ABCJD001DEXXXXXBerlinXXHeinzWilliunknownheute
3DFEJD002DEXXXXXBerlinXXPeterWilliunknownheute
4
5

ZelleFormel
A2=WENNFEHLER(INDEX(Export!A:A;AGGREGAT(15;6;ZEILE(Export!$A$2:$A$5)/(Export!$I$2:$I$5="unknown");ZEILE(A1)));"")
B2=WENNFEHLER(SVERWEIS($A2;Export!$A$1:$J$5;SPALTE(B$1);0);"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Die Formel in A2 einfach runterziehen, die Formel in B2 nach rechts und nach unten.

Ja, die Markierung bei Gleichheit geht über die bedFormatierung.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
Hallo, oder einfach(er) mit Power Query mit ohne Formeln...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#8
(22.04.2019, 19:48)WillWissen schrieb: Hi,

hier mein Vorschlag...

Ja, die Markierung bei Gleichheit geht über die bedFormatierung.

Moin Günter, aber wie genau..?
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#9
Hallöchen,
Habe gerade anhand Günters Tabellenausschnitt gesehen, dass Deine Daten bis Spalte J gehen. Dann musst Du in meinem Code zum Kopieren Die Spalte mit 10 definieren.
Der Vorschlag von Jörg mit PowerQuery würde natürlich auch mein Makro ganz gut ersetzen, damit wird ja auch eine Kopie der Daten angelegt. :19:
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Hi Jörg,

deine Frage ist nicht ernst, oder?

Arbeitsblatt mit dem Namen 'Auszug'
A
1Laden
2ABC
3DFE
4
5
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Arbeitsblatt mit dem Namen 'VIP'
A
1Laden
2ABC
3DEF
4ABD
5DFE

Zellebedingte Formatierung...Format
A21: ZÄHLENWENN(Auszug!$A$2:A2;A2)>0abc
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top


Gehe zu:


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