Supportnet Computer
Planet of Tech

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

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!

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?

Antwort 6 von Mikomi

Die Fehlermeldung lautet nun:

#Bezug?

Antwort 7 von Saarbauer

Hallo,

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 Sub


Gruß

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 :)

Antwort 9 von Saarbauer

Hallo,

wo hast du den Code eingefügt?

Zitat:
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.

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

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

Antwort 14 von Mikomi

Die Daten sollen erhalten bleiben.

Antwort 15 von Saarbauer

Hallo,

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 Sub


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

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 :(

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

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)

Antwort 19 von Saarbauer

Hallo,

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


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


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

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 !

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: