Supportnet / Forum / WindowsXP
SummeWenn oder eher WENNDANN ? Suche Rat
Frage
Hallo zusammen,
ich habe eine Exceldatei in der verschiedene identische Monats-Tabellenblätter existieren. In diesen Monatstabellen werden Zeilen mit Daten befüllt.
Mein Wunsch:
Ich möchte gerne, dass wenn ich in der Spalte P (egal welcher Monat) ein X setze, aus derselben Zeile die Zellen B+C automatisch in ein weiteres Tabellenblatt (mit der Bezeichnung Aussortierungen) nacheinander aufgeführt werden.
Ich habe verschiedene Sachen ausprobiert mit SUMMEWENN oder WENNDANN ... aber ich weiß einfach keinen Rat mehr wie ich das machen kann. Nichts passt, Nichts geht mehr....Mir raucht die Birne.
Näheres zu den Monatstabellen:
A = Datum *wichtig*
B = Bezeichnung 1 *wichtig*
C= Bezeichnung 2 *unwichtig*
D=Bezeichnung 3 *wichtig*
E bis O Bezeichnungen *unwichtig*
P= Bezeichnung (X) *wichtig* -> Auslöser
Wunsch/Idee:
Wenn in Spalte P ein X gemacht wird soll in dem Tabellenblatt "Aussortierungen" eine >>neue<< Zeile mit den Angaben aus A,B+D (gleiche Zeile wie X) aufgeführt werden.
Könnt ihr mir helfen?
Dankeschön :)
[*][sup][i]
*Threadedit* 10:31:33, 07.04.2008
Admininfo: Führ bitte einen Thread nicht fort indem du Weitere eröffnest, und vermeide Mehrfachanfragen. Die Datenbank und User werden es dir danken. Siehe [u][url=https://supportnet.de/faqsthread/840]FAQ 2, #3[/url][/u].[/i][/sup]
Antwort 1 von melex
Das Problem schreit meiner Meinung nach einem SVERWEIS
Antwort 2 von Saarbauer
Hallo,
ist auf keinen Fall mit Sverweis() hinzukriegen. Aus 3 Gründen:
1. Sverweis geht immer nur auf die 1 Zeile mit dem Verweiswert, hier "x"
2. Der Verwaeiswert muss in der ersten Spalte stehen, was wahrscheinlich noch hinzukriegen wäre
3 Die Werte stehen in unterschiedlichen Tabellenblättern
Aus meiner Sicht ist es nir mit einem Makro zu machen
Gruß
Helmut
ist auf keinen Fall mit Sverweis() hinzukriegen. Aus 3 Gründen:
1. Sverweis geht immer nur auf die 1 Zeile mit dem Verweiswert, hier "x"
2. Der Verwaeiswert muss in der ersten Spalte stehen, was wahrscheinlich noch hinzukriegen wäre
3 Die Werte stehen in unterschiedlichen Tabellenblättern
Aus meiner Sicht ist es nir mit einem Makro zu machen
Gruß
Helmut
Antwort 3 von melex
sorry, habe das mit den "versch. Monatsblättern" überlesen.
Antwort 4 von Mikomi
Ein Kollege und ich haben weiterprobiert:
=WENN(Januar:Dezember!P="x";(Aussortierungen!C:C);"")
aber leider funktioniert das nicht.
Die Fehlermeldung, die kommt, ist:
#Name?
Menno, ich glaube ich bin soooo nah dran, aber ich sehe keine Lösung.
Need your help, pls!
=WENN(Januar:Dezember!P="x";(Aussortierungen!C:C);"")
aber leider funktioniert das nicht.
Die Fehlermeldung, die kommt, ist:
#Name?
Menno, ich glaube ich bin soooo nah dran, aber ich sehe keine Lösung.
Need your help, pls!
Antwort 5 von Mikomi
Ha, da war mir eben doch noch etwas aufgefallen:
=WENN(Januar:Dezember!P:P="x";(Aussortierungen!C:C);"")
(komlette Spalte P)
Wie bekomme ich es hin, dass Excel merkt, dass wenn in der Spalte P (egal welcher Monat) ein x gemacht wird, dass er dann in der Tabelle Aussortierungen an der nächstmöglichen Stelle eben das gewünschte aufführt?
=WENN(Januar:Dezember!P:P="x";(Aussortierungen!C:C);"")
(komlette Spalte P)
Wie bekomme ich es hin, dass Excel merkt, dass wenn in der Spalte P (egal welcher Monat) ein x gemacht wird, dass er dann in der Tabelle Aussortierungen an der nächstmöglichen Stelle eben das gewünschte aufführt?
Antwort 6 von Mikomi
Die Fehlermeldung lautet nun:
#Bezug?
#Bezug?
Antwort 7 von Saarbauer
Hallo,
versuch es mal mit dem Makro
Gruß
Helmut
versuch es mal mit dem Makro
Sub Aussortieren()
Dim Monat As Variant
Monat = Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember")
For i = 0 To 11
Sheets(Monat(i)).Select
letzteZeile = Range("A65536").End(xlUp).Row
Rows("2:" & letzteZeile).Copy
Sheets("Aussortierung").Select
Range("A" & Range("A65536").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Next i
Rows("1:1").Select
Application.CutCopyMode = False
Selection.AutoFilter
Selection.AutoFilter Field:=16, Criteria1:=""
Rows("2:" & Range("A65536").End(xlUp).Row).Delete Shift:=xlUp
Selection.AutoFilter Field:=16
End SubGruß
Helmut
Antwort 8 von Mikomi
Vielen Dank erst einmal für diesen Vorschlag.
Ich habe diesen Makro-Code eingefügt und wollte diesen einmal im Monat April ausprobieren.
Als ich das Makro startete bekam ich die folgende Fehlermeldung:
Fehler beim Kompilieren: Variable nicht definiert [OK / Help]
Er meint damit folgende Zeile
For i = 0 To 11
und darin das "i"
Was muss ich nun tun? Help :)
Ich habe diesen Makro-Code eingefügt und wollte diesen einmal im Monat April ausprobieren.
Als ich das Makro startete bekam ich die folgende Fehlermeldung:
Fehler beim Kompilieren: Variable nicht definiert [OK / Help]
Er meint damit folgende Zeile
For i = 0 To 11
und darin das "i"
Was muss ich nun tun? Help :)
Antwort 9 von Saarbauer
Hallo,
wo hast du den Code eingefügt?
Es werden in dem Makro alle Monate abgearbeitet, daher hat mich diese Aussage etwas irritiert
Gruß
Helmut
wo hast du den Code eingefügt?
Zitat:
Ich habe diesen Makro-Code eingefügt und wollte diesen einmal im Monat April ausprobieren
Ich habe diesen Makro-Code eingefügt und wollte diesen einmal im Monat April ausprobieren
Es werden in dem Makro alle Monate abgearbeitet, daher hat mich diese Aussage etwas irritiert
Gruß
Helmut
Antwort 10 von Mikomi
Hallo Helmut,
ich nahm an, dass ich, wenn das Tabellenblatt "April" aktiv ist (geöffnet ist), dass wenn ich dieses Makro dort im VBA-Editor eingebe, auch nur für diesen Monat gilt. Offensichtlich gilt es dann gleich für alle Monate :)
Ich muss gestehen, dass ich *sichschämt* in diesem Forum einen weiteren, vielleicht ausführlicheren, Text eröffnet habe, aber dieser geschlossen wurde.
Vielleicht habe ich dort meinen Wunsch viel besser beschrieben, sodass man mir vielleicht eher helfen kann.
Der Thread ist unter: https://supportnet.de/threads/1707866 zu finden.
Ich nahm an, dass ich evtl. in einem falschen Forumsteil gepostet hatte.
ich nahm an, dass ich, wenn das Tabellenblatt "April" aktiv ist (geöffnet ist), dass wenn ich dieses Makro dort im VBA-Editor eingebe, auch nur für diesen Monat gilt. Offensichtlich gilt es dann gleich für alle Monate :)
Ich muss gestehen, dass ich *sichschämt* in diesem Forum einen weiteren, vielleicht ausführlicheren, Text eröffnet habe, aber dieser geschlossen wurde.
Vielleicht habe ich dort meinen Wunsch viel besser beschrieben, sodass man mir vielleicht eher helfen kann.
Der Thread ist unter: https://supportnet.de/threads/1707866 zu finden.
Ich nahm an, dass ich evtl. in einem falschen Forumsteil gepostet hatte.
Antwort 11 von Saarbauer
Hallo,
dass das Makro nur immer für die aktive Tabelle gelten soll hatte ich so nicht gesehen und daher oben das Makro erstellt. Es wäre daher etwas abzuwandeln. Muss ich mir mal genau ansehen wie dies am Besten zu machen ist.
Das Löschen der Spalte 2 kann dann auch noch erledigt werden
Gruß
Helmut
dass das Makro nur immer für die aktive Tabelle gelten soll hatte ich so nicht gesehen und daher oben das Makro erstellt. Es wäre daher etwas abzuwandeln. Muss ich mir mal genau ansehen wie dies am Besten zu machen ist.
Das Löschen der Spalte 2 kann dann auch noch erledigt werden
Gruß
Helmut
Antwort 12 von Mikomi
Superlieben Dank!
Antwort 13 von Saarbauer
Hallo,
eine Frage:
Sollen im Blatt aussortieren die Daten des/der Vormonats/e
erhalten bleiben, dann brauchen wir ein Hilfsblatt oderimmer nur aktuelle Daten
Gruß
Helmut
eine Frage:
Sollen im Blatt aussortieren die Daten des/der Vormonats/e
erhalten bleiben, dann brauchen wir ein Hilfsblatt oderimmer nur aktuelle Daten
Gruß
Helmut
Antwort 14 von Mikomi
Die Daten sollen erhalten bleiben.
Antwort 15 von Saarbauer
Hallo,
Versuch es mal hiermit
kann man noch elegnter machen, aberberst mal sehen ob es so deinen Vorstellungen entspricht
Auf das Blatt gehen das übertragen werden soll und das Makro starten
Gruß
Helmut
Versuch es mal hiermit
Sub Aussortieren_Monat()
Name1 = ActiveSheet.Name
Sheets.Add
Name2 = ActiveSheet.Name
Sheets(Name2).Move After:=Sheets("Aussortieren")
Sheets(Name2).Name = "Hilfstabelle"
Sheets(Name1).Select
Rows("1:" & Range("A65536").End(xlUp).Row).Copy
Sheets("Hilfstabelle").Select
Range("A1").Select
ActiveSheet.Paste
Columns("B:B").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Application.CutCopyMode = False
Rows(1).Select
Selection.AutoFilter
Selection.AutoFilter Field:=15, Criteria1:="x"
Rows("2:" & Range("A65536").End(xlUp).Row).Copy
Sheets("Aussortieren").Select
Range("A" & Range("A65536").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Sheets("Hilfstabelle").Select
ActiveWindow.SelectedSheets.Delete
End Subkann man noch elegnter machen, aberberst mal sehen ob es so deinen Vorstellungen entspricht
Auf das Blatt gehen das übertragen werden soll und das Makro starten
Gruß
Helmut
Antwort 16 von Mikomi
Hallo Helmut,
superlieben Dank erst einmal, für die Mühe, die du dir wg mir machst.
Das Makro geht schon in die richtige Richtung! Ich habe die Tabelle "Aussortieren" im Makro noch umbenannt (Aussortierungen) noch umbenannt. Aber leider bleibt wohl der letzte Eintrag in der Hilfsliste vorhanden, sodass immer dieser erste Eintrag in der Aussortierungen-Liste auftauchen würde.
Wenn ich nun zB 2 Aussortierungen im Monat habe (oder auch mehr) dann sollen diese nacheinander in der Aussortierungen-Liste augezählt werden bzw der alte Eintrag bleiben und der neue dahinter aufgeführt werden.
Wenn ich das Makro richtig verstehe, fehlt glaube ich noch der Befehl, den Eintrag aus der Hilfstabelle "auszuschneiden" und in der Aussortierungen-Liste einzufügen? Dann würde doch automatisch der die nächste Aussortierung ausgewählt werden, oder?
Ich hoffe ich konne mich einigermaßen gut erklären :(
superlieben Dank erst einmal, für die Mühe, die du dir wg mir machst.
Das Makro geht schon in die richtige Richtung! Ich habe die Tabelle "Aussortieren" im Makro noch umbenannt (Aussortierungen) noch umbenannt. Aber leider bleibt wohl der letzte Eintrag in der Hilfsliste vorhanden, sodass immer dieser erste Eintrag in der Aussortierungen-Liste auftauchen würde.
Wenn ich nun zB 2 Aussortierungen im Monat habe (oder auch mehr) dann sollen diese nacheinander in der Aussortierungen-Liste augezählt werden bzw der alte Eintrag bleiben und der neue dahinter aufgeführt werden.
Wenn ich das Makro richtig verstehe, fehlt glaube ich noch der Befehl, den Eintrag aus der Hilfstabelle "auszuschneiden" und in der Aussortierungen-Liste einzufügen? Dann würde doch automatisch der die nächste Aussortierung ausgewählt werden, oder?
Ich hoffe ich konne mich einigermaßen gut erklären :(
Antwort 17 von Saarbauer
Hallo,
eine Frage:
Wenn ich es richtig verstanden habe wird die Liste "Aussortierungen" nicht nur einmal im Monat fortgeschrieben.
Wenn es so ist, dann müssen also nur die neuen Daten hinzugefügt werden. Als Beispiel:
am 2.4.08 wurde aussortiert und heute soll wieder Aussortiert werden, dann wären alle bis zum 2.4.08 übernommenen Daten bereits in der List und wären also nicht mehr aus der Hilfsliste zu übernehmen.
Hier ergibt sich dann die Frage, ob die auch Daten vor dem bereits am 2.4.08 aussortierten letzen Eintrag liegen können
Gruß
Helmut
eine Frage:
Wenn ich es richtig verstanden habe wird die Liste "Aussortierungen" nicht nur einmal im Monat fortgeschrieben.
Wenn es so ist, dann müssen also nur die neuen Daten hinzugefügt werden. Als Beispiel:
am 2.4.08 wurde aussortiert und heute soll wieder Aussortiert werden, dann wären alle bis zum 2.4.08 übernommenen Daten bereits in der List und wären also nicht mehr aus der Hilfsliste zu übernehmen.
Hier ergibt sich dann die Frage, ob die auch Daten vor dem bereits am 2.4.08 aussortierten letzen Eintrag liegen können
Gruß
Helmut
Antwort 18 von Mikomi
Entschuldigung für die verspätete Antwort.
Ja das ist der Fall. Es gab schon Aussortierungen im Jan, Feb, März, die wir quasi per Copy/Paste in diese Liste eingetragen haben. Zurzeit ist der nächste Freie Platz bei A7 (in der Liste Aussortierungen)
Ja das ist der Fall. Es gab schon Aussortierungen im Jan, Feb, März, die wir quasi per Copy/Paste in diese Liste eingetragen haben. Zurzeit ist der nächste Freie Platz bei A7 (in der Liste Aussortierungen)
Antwort 19 von Saarbauer
Hallo,
Ja das ist der Fall, bezieht sich auf
oder / und
Fragen aus AW 17
Gruß
Helmut
Ja das ist der Fall, bezieht sich auf
Zitat:
Wenn ich es richtig verstanden habe wird die Liste "Aussortierungen" nicht nur einmal im Monat fortgeschrieben
Wenn ich es richtig verstanden habe wird die Liste "Aussortierungen" nicht nur einmal im Monat fortgeschrieben
oder / und
Zitat:
Hier ergibt sich dann die Frage, ob die auch Daten vor dem bereits am 2.4.08 aussortierten letzen Eintrag liegen können
Hier ergibt sich dann die Frage, ob die auch Daten vor dem bereits am 2.4.08 aussortierten letzen Eintrag liegen können
Fragen aus AW 17
Gruß
Helmut
Antwort 20 von Mikomi
Ja gilt für beide Fragen :)
Antwort 21 von Mikomi
... und entschuldigung für die verspätete Antwort, ich war am Freitag nur kurz im Büro.
Antwort 22 von Saarbauer
hallo,
kein Problem, aber für die Lösung habe ich erst heute abend Zeit
Noch eine Frage: kann die zur Zeit zur Löschung vorgesehene Spalte B drin bleiben, wüde das Ganze etwas vereinfachen
Gruß
Helmut
kein Problem, aber für die Lösung habe ich erst heute abend Zeit
Noch eine Frage: kann die zur Zeit zur Löschung vorgesehene Spalte B drin bleiben, wüde das Ganze etwas vereinfachen
Gruß
Helmut
Antwort 23 von Mikomi
Ich denke ja, wenn es dazu beiträgt, dass das alles so funktioniert :) Ich werde es meinen Kollegen schmackhaft machen ;)
Nur keine Eile, vielen Dank für die Hilfe !
Nur keine Eile, vielen Dank für die Hilfe !

