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.
Hallo,
ich würde das nur mit Tabellenblatt 1 machen. Dort einfach filtern.
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?
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
Hi,
hier mein Vorschlag, wie bereits geschrieben mit INDEX() und AGGREGAT:
Arbeitsblatt mit dem Namen 'Export' |
| A | B | C | D | E | F | G | H | I | J |
1 | Laden | Stand | Land | PLZ | Stadt | Straße | Ladenbesitzer | Standbesitzer | Status | Datum |
2 | ABC | JD001 | DE | XXXXX | Berlin | XX | Heinz | Willi | unknown | heute |
3 | DEF | JD001 | DE | XXXXX | Berlin | XX | Herbert | Willi | neu | heute |
4 | ABD | JD002 | DE | XXXXX | Berlin | XX | Wolfgang | Willi | unavailable | heute |
5 | DFE | JD002 | DE | XXXXX | Berlin | XX | Peter | Willi | unknown | heute |
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' |
| A | B | C | D | E | F | G | H | I | J |
1 | Laden | Stand | Land | PLZ | Stadt | Straße | Ladenbesitzer | Standbesitzer | Status | Datum |
2 | ABC | JD001 | DE | XXXXX | Berlin | XX | Heinz | Willi | unknown | heute |
3 | DFE | JD002 | DE | XXXXX | Berlin | XX | Peter | Willi | unknown | heute |
4 | | | | | | | | | | |
5 | | | | | | | | | | |
Zelle | Formel |
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.
Hallo, oder einfach(er) mit Power Query mit ohne Formeln...
(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..?
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:
Hi Jörg,
deine Frage ist nicht ernst, oder?
Arbeitsblatt mit dem Namen 'Auszug' |
| A |
1 | Laden |
2 | ABC |
3 | DFE |
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 |
1 | Laden |
2 | ABC |
3 | DEF |
4 | ABD |
5 | DFE |
Zelle | bedingte Formatierung... | Format |
A2 | 1: ZÄHLENWENN(Auszug!$A$2:A2;A2)>0 | abc |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |