Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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
Zeilen mit bestimmten Datum kopieren
01.04.2016 02:32:55
Peter
Hallo liebe Helfer
Ich habe nachdem ich alle möglichen Foren und möglichen Vorlagen kombiniert habe es nicht geschafft mir was Funktionierendes zu konstruieren.
Ich habe in einem Tabellenblatt (owssvr) hunderte Zeilen mit Daten gefüllt.
in Spalte A2:A stehen das Datums für das aktuelle Jahr, in Spalte B2:B stehen Zahlen und in Spalte D2:D Bezeigungen.
Das heißt es gibt immer einige Zeilen gleichen Datums (z.B. 10 mal 05.02.2016)
Nun das was ich tun möchte: Ich möchte mittels VBA mit eine Inputbox ein bestimmtes Monat vorgeben, danach sollte die einzelnen Tage in eine zweite Tabelle kopiert werden. Also in Tabelle2 A1 bis Cxx den 01.02.2016 in E1 bis Gxx den 02.02.2016 usw.
Vielleicht können Sie mir helfen
Vielen Dank schon mal im Voraus Peter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Pivottabelle ! (owT)
01.04.2016 08:27:00
EtoPHG

AW: nein, die geht hier mE nicht ...
01.04.2016 09:17:38
...
Hallo Hansueli,
... jedenfalls nicht so, wie es Peter beschrieben hat.
Es geht natürlich mit VBA. Aber es würde auch rein formeltechnisch (Monatswahl über eine Dropdownzelle oder auch Listenfeld) zu realisieren gehen.
Die Frage deshalb an Peter, willst Du es wirklich per VBA? Dann bin ich außen vor. Bei einer Formellösung könnte ich aushelfen.
Gruß Werner
.. , - ...

AW: nein, die geht hier mE nicht ...
01.04.2016 15:20:53
Peter
Hallo neopa C
Die Lösung von UveD hat super funktioniert, aber mich würde natürlich auch interessieren wie es mit Formeln geht. Die Daten in der Tabelle haben schon einen Filter angelegt, also könnte man sie ab Zeile 2 verwenden.
Nochmal vielen Dank für die Antwort, und schon mal Danke für die Formeln!!!
Gruß Peter

Anzeige
AW: schien unmögl., mit 1er(!)-Formel möglich ...
03.04.2016 16:02:31
...
Hallo Peter,
... bin selber etwas erstaunt, dass die Lösung Deiner vorgegebenen Aufgabenstellung wirklich nur mit einer Formel realisierbar ist. Dies schien mir selbst anfänglich unmöglich.
Allerdings stell ich diese Formel hier nur ein, weil Du einerseits darum gebeten hattest und Du andererseits ja schon ein funktionsfähiges Makro von Uwe hast, dass Du sicherlich selbst bei Notwendigkeit anpassen oder leichter anpassen lassen kannst als meine Formel.
Die Formel ist von mir nur einerseits aus "Spieltrieb" andererseits auch Interesse so wie unten stehend konstruiert, um zu erkunden, ob es denn auch eine Formellösung mit nur einer(!) Formel geben kann. Hierbei war für eine Formellösung nicht die eigentliche Aufgabenstellung das komplizierteste in der Realisierung sondern die Randbedingungen. Die Monatswahl und Wahl des maßgebenden Jahres war/ist jedoch völlig einfach mit z.B. Dropdownzellen zu lösen. Ich hab dafür owssvr!E1:F1 gewählt.
Meine Formel ist momentan noch nicht optimiert aber diese wäre schon allein dadurch geschätzt nur 2/3 so lang geworden, wenn ich anstelle in A1 mit der Lösung in B2 hätte anfangen können und ich zusätzlich nicht hätte berücksichtigen wollte, dass ich nicht nach Kopieren der Formel noch verschiedene Zellformate zuweisen wollte. Momentan hab ich mir da so geholfen, dass ich der Formel in A1 nur das Datumsformat zugewiesen habe und die Zahlenwerte im Textformat ausgebe.
Die Formel ist auch deshalb nicht zu empfehlen, weil eine evtl. notwendige Anpassung in der derzeitigen Fassung wohl selbst für formelerfahrene Nutzer schwierig zu überschauen ist. Wie bereits angedeutet, hätte ich eine zwingend notwendige Formellösung anders strukturiert aufgebaut.
Positiv an nachfolgender Formellösung ist für mich also nur die Bestätigung dessen, das man mit nur einer Formel auch relativ komplexere Probleme lösen kann. Übrigens noch interessant: die Formel als benannte Formel definiert funktioniert so nicht (würde dann einen Zirkelbezug ergeben!).
Formel A1 weit genug nach rechts und unten ziehend kopieren:
MonatsDaten

 ABCDEFGHIJKLMNOPQRSTUVWX
102.02.1624Txt_03 04.02.1626Txt_05 09.02.1627Txt_06 11.02.1631Txt_10 24.02.1633Txt_12 25.02.1634Txt_13 
202.02.1625Txt_04     09.02.1628Txt_07 11.02.1632Txt_11     25.02.1635Txt_14 
3        09.02.1629Txt_08             
4        09.02.1630Txt_09             
5                        

Formeln der Tabelle
ZelleFormel
A1=WENN(ZEILE()=1;WENNFEHLER(WENN(SPALTE()=1;INDEX(owssvr!$A:$A;AGGREGAT(15;6;ZEILE(owssvr!$A$1:$A$999)/(TEXT(owssvr!$A$1:$A$999;"MMMM")=owssvr!$E$1); 1)); WENN((REST(SPALTE(); 4)=1)*(SPALTE()>1);  INDEX(owssvr!$A:$A;AGGREGAT(15;6;ZEILE(owssvr!$A$1:$A$999)/(TEXT(owssvr!$A$1:$A$999;"MMMM")=owssvr!$E$1)/ISTNV(VERGLEICH(owssvr!$A$1:$A$999;INDEX(1:1;1):INDEX(1:1;SPALTE()-1); ))/(REST(SPALTE(); 4)=1); 1)); INDEX(owssvr!$A:$D;AGGREGAT(15;6;ZEILE(owssvr!A$1:A$999)/(owssvr!$A$1:$A$999=INDEX(1:1;KÜRZEN((3+SPALTE())/4;)*4-3)); ZEILE()); 2*(REST(SPALTE(); 4)-1))&"")); "");  WENN(INDEX(A:A;ZEILE()-1)="";"";WENN((REST(SPALTE(); 4)=1)*ZEILE()>ZÄHLENWENN(owssvr!$A$1:$A$999;INDEX(A:A;ZEILE()-1)); "";WENN(REST(SPALTE(); 4)=1;INDEX(A:A;ZEILE()-1); WENNFEHLER(INDEX(owssvr!$A:$D;AGGREGAT(15;6;ZEILE(owssvr!A$1:A$999)/(owssvr!$A$1:$A$999=INDEX(1:1;KÜRZEN((3+SPALTE())/4;)*4-3)); ZEILE()); 2*(REST(SPALTE(); 4)-1))&"";"")))))


owssvr

 ABCDEF
1DatumWert TextFebruar2016
2Fr 29.01.1622 Txt_01  
3Fr 29.01.1623 Txt_02  
4Di 02.02.1624 Txt_03  
5Di 02.02.1625 Txt_04  
6Do 04.02.1626 Txt_05  
7Di 09.02.1627 Txt_06  
8Di 09.02.1628 Txt_07  
9Di 09.02.1629 Txt_08  
10Di 09.02.1630 Txt_09  
11Do 11.02.1631 Txt_10  
12Do 11.02.1632 Txt_11  
13Mi 24.02.1633 Txt_12  
14Do 25.02.1634 Txt_13  
15Do 25.02.1635 Txt_14  
16Mi 02.03.1636 Txt_15  
17Mi 02.03.1637 Txt_16  
18Di 29.03.1638 Txt_17  
19      

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
E1Liste Januar;Februar;März 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: schien unmögl., mit 1er(!)-Formel möglich ...
04.04.2016 06:56:57
Peter
Hallo neopa C
Diese Formel ist der Wahnsinn!!!!
Was muss man studiert haben um sowas zu erdenken.
Höchsten Respekt, und vielen Dank.
Gruß Peter

AW: Antwort auf Deine Frage: Excel ;-) owT
04.04.2016 08:15:36
...
Gruß Werner
.. , - ...

VBA
01.04.2016 09:51:23
UweD
Hallo Peter
ich hoffe ich habe alles richtig verstanden...
Sub Peter() On Error GoTo Fehler Dim TB1, TB2, TB3, i!, Z! Dim LR1&, LC! Dim Monat!, Jahr!, Anz! Set TB1 = Sheets("owssvr") Set TB2 = Sheets("Tabelle2") Application.ScreenUpdating = False Monat = Format(InputBox("Welcher Monat", "Daten trennen", "01"), "00") If Monat > 12 Then MsgBox "Nur Monate 01 - 12 zugelassen!": Exit Sub Jahr = InputBox("Welches Jahr", "Daten trennen", "2016") With TB1 If .AutoFilterMode Then .AutoFilterMode = False ' Autofilter ausschalten LR1 = .Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte A .Columns("A:D").AutoFilter .Range("$A$1:$D$" & LR1).AutoFilter Field:=1, _ Criteria1:=">=" & CDbl(DateSerial(Jahr, Monat, 1)), Operator:=xlAnd, _ Criteria2:=" TB3.Cells(i, 1) Then LC = LC + 3 Z = 0 End If Z = Z + 1 Next End With Application.DisplayAlerts = False TB3.Delete Application.DisplayAlerts = True '*** Fehlerbehandlung Fehler: If Err.Number 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description Err.Clear Application.DisplayAlerts = True End Sub
Gruß UweD
Über Rückmeldungen würde ich mich freuen

Anzeige
AW: VBA
01.04.2016 15:27:48
Peter
Hallo UweD
Vielen Dank für das Skript, ich habe zwar etwa rumgeschraubt aber nur weil schon ein Filter vorhanden war der nicht so leicht zu entfernen ist. Ich muss gestehen ich hätte sowas in hundert Jahren nicht hinbekommen. Also nochmal ein Dankeschön für die schnelle Professionelle Hilfe.
Mit besten Grüßen Peter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige