Excel2010 - Ganze Zeile kopieren, wenn ein bestimmter Wert gefunden wird
#1
Hallo zusammen.

Vorab: Ich bin absoluter VBA Neuling.
Ich habe bereits in einem anderen Forum nachgefragt, nur leider keine passende Hilfe bekommen.
Die Suche in diesem Forum hat auch kein Ergebnis gebracht.

Deswegen:

Aufgabenbeschreibung: Ich möchte gerne einen Schichtplan für 3 Schichten aus einer "Übersicht" generieren. In dem Blatt "Übersicht" stehen in Spalte A alle Namen. In Zeile 1 stehen die Wochentage (Montag bis Sonntag). In der Übersicht werden jeweils pro Person und Wochentag, die möglichen Schichten (Früh, Spät, Nacht) eingetragen.

Nun möchte ich per Makro die Mitarbeiter mit den gleichen Schichten auf dem jeweiligen Blatt zusammenfügen.

Ich wäre sehr glücklich wenn Ihr mir helfen könntet.


Danke.

Gruß

Marc01


Angehängte Dateien
.xlsx   Beispiel_Schicht.xlsx (Größe: 12,54 KB / Downloads: 16)
Top
#2
Hallo,

dafür kannst du den Spezialfilter von Thomas verwenden.

Ich habe das in der angehängten Datei auf die Schnelle umgesetzt. In A1 des Tabellenblattes Daten habe ich noch eine Überschrift gesetzt.

Wenn dich die Zeilen 1 bis 3 in den anderen Tabellenblättern stören dann blende sie einfach aus.

Das Original (mit Erläuterungen) findest du hier:

http://netcult.ch/MVP_Ramel/Files/spezia...rt-neu.xls

Wenn du in mehreren Foren postet, dann wäre es den Usern im anderen Forum gegenüber auch fair auf diesen Beitrag hinzuweisen damit a) User die mit einem ähnlichen Problem über eine Suchmaschine in das andere Forum kommen und b) potentielle Helfer die später auf den dortigen Thread stoßen weitergeleitet werden.


Angehängte Dateien
.xls   spezialfilter_automatisiert-neu.xls (Größe: 57,5 KB / Downloads: 33)
Gruß
Peter
Top
#3
Hallo,

das kriegt man auch mit einer Pivottabelle hin.

Alle Spalten im Datenbereich müssen Überschriften haben(das gilt auch beim Spezialfilter)
In der Pivot alle Spalten in den Zeilenbereich ziehen und eine der Wochentage nach einer
Schicht filtern.

Bei Frühschicht zum Beispiel sieht es mit der Pivot so aus:

Arbeitsblatt mit dem Namen 'Früh'
 ABCDEFGH
10NameMontagDienstagMittwochDonnerstagFreitagSamstagSonntag
11Name 1FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
12Name 2FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
13Name 3FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
14Name 4FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
15Name 5FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
16Name 6FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Bei Montag ist ein Filter auf Frühschicht gesetzt.
Gruß Atilla
Top
#4
Hallo,

zu der Lösung mit PT noch zwei Anmerkungen:

Bei XLSX gehe ich davon aus, dass du XL2007 oder später im Einsatz hast. Hier müssten man über die Pivottable-Optionen im Register Anzeige einen Haken setzen bei 'klassisches PivotTable-Layout'.

Vermutlich werden dir in den einzelnen Spalten auch Teilergebnisse angezeigt - die könnte man über rechte Maus - Teilergebnisse abwählen oder Feldeinstellungen auf Keine setzen
Gruß
Peter
Top
#5
Hallo zusammen.

Danke für die Hilfe bis hier hin.

Die Spezialfilterlösung sieht schon sehr gut aus.

Die Ersten Zeilen habe ich ausgeblendet.
Nun habe ich noch Sonderfälle:
An bestimmten Tagen können natürlich noch die Begriffe "V-Tag",TU oder SU" auftauchen.
Sobald diese in der Zeile auftauchen wird die Zeile nicht mehr übernommen.
Gibt es dafür auch noch eine Lösung???

Wäre super

Gruß

marc01
Top
#6
Hallo,

Code:
An bestimmten Tagen können natürlich noch die Begriffe "V-Tag",TU oder SU" auftauchen.

Was ist denn daran natürlich? Warum erwähnst du sowas denn nicht im Ausgangsposting? Sind das jetzt drei Begriffe oder ist "TU oder SU" ein Begriff?

Hilft es dir weiter wenn du in der Zeile3 diesen Begriff einträgst?

Alternativ nimmt die PT-Lösung - dort kannst du auch zwei oder mehrere Werte im Filter anhaken,
Gruß
Peter
Top
#7
Hallo zusammen,

wie ich es sehe, ist das mit dem Spezialfilter nicht ganz richtig aufgebaut.
Es müsste hier eine -Oder- Filterung gesetzt werden.

Der Kriterienbereich müsste dann so aufgebaut sein:

Arbeitsblatt mit dem Namen 'Frühschicht'
 ABCDEFGH
1NameMontagDienstagMittwochDonnerstagFreitagSamstagSonntag
2 Frühschicht      
3  Frühschicht     
4   Frühschicht    
5    Frühschicht   
6     Frühschicht  
7      Frühschicht 
8       Frühschicht
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Wenn jetzt aber noch nach anderen Werten gefiltert werden soll, dann muss der Kriterienbereich
ziemlich erweitert werden.
Wenn z.B "TU" noch jeden Tag vorkommen kann, dann müsste der Kriterienbereich so aussehen:

Arbeitsblatt mit dem Namen 'Frühschicht'
 ABCDEFGHIJKLMNO
1NameMontagDienstagMittwochDonnerstagFreitagSamstagSonntagMontagDienstagMittwochDonnerstagFreitagSamstagSonntag
2 Frühschicht             
3  Frühschicht            
4   Frühschicht           
5    Frühschicht          
6     Frühschicht         
7      Frühschicht        
8       Frühschicht       
9        TU      
10         TU     
11          TU    
12           TU   
13            TU  
14             TU 
15              TU
16               
17NameMontagDienstagMittwochDonnerstagFreitagSamstagSonntag       
18Name 1FrühschichtNachtschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht       
19Name 2FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht       
20Name 3FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht       
21Name 4FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht       
22Name 5FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht       
23Name 6FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht       
24Name 13NachtschichtNachtschichtNachtschichtNachtschichtNachtschichtNachtschichtTU       
25Name 19TUNachtschichtNachtschichtNachtschichtNachtschichtNachtschichtNachtschicht       
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Also mit jedem zusätzlichen Kriterium wird der Kriterienbereich um die Tage größer, in der es auftauchen kann.

Eine andere Möglichkeit, Du setzt für die Kritrien Funktionen ein.
Zum Beispiel so für Frühschicht und den ander drei Begriffen:

Arbeitsblatt mit dem Namen 'Frühschicht'
 ABCDEFGH
1Name       
2 WAHR      
3  FALSCH     
4   WAHR    
5    WAHR   
6     WAHR  
7      WAHR 
8       WAHR

ZelleFormel
B2=ODER(Daten!B2="Frühschicht";Daten!B2="V-Tag";Daten!B2="TU";Daten!B2="SU")
C3=ODER(Daten!C2="Frühschicht";Daten!C2="V-Tag";Daten!C2="TU";Daten!C2="SU")
D4=ODER(Daten!D2="Frühschicht";Daten!D2="V-Tag";Daten!D2="TU";Daten!D2="SU")
E5=ODER(Daten!E2="Frühschicht";Daten!E2="V-Tag";Daten!E2="TU";Daten!E2="SU")
F6=ODER(Daten!F2="Frühschicht";Daten!F2="V-Tag";Daten!F2="TU";Daten!F2="SU")
G7=ODER(Daten!G2="Frühschicht";Daten!G2="V-Tag";Daten!G2="TU";Daten!G2="SU")
H8=ODER(Daten!H2="Frühschicht";Daten!H2="V-Tag";Daten!H2="TU";Daten!H2="SU")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Nachtrag:

Kann auch sein, dass Peter es richtig verstanden hat und es eine UND Filterung ist,
dann ginge es mit den Funktionen so:

Arbeitsblatt mit dem Namen 'Frühschicht'
 ABCDEFGH
1Name       
2 WAHRFALSCHWAHRWAHRWAHRWAHRWAHR
3        
4NameMontagDienstagMittwochDonnerstagFreitagSamstagSonntag
5Name 2FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
6Name 3FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
7Name 4FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
8Name 5FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschicht
9Name 6FrühschichtFrühschichtFrühschichtFrühschichtFrühschichtFrühschichtTU

ZelleFormel
B2=ODER(Daten!B2="Frühschicht";Daten!B2="V-Tag";Daten!B2="TU";Daten!B2="SU")
C2=ODER(Daten!C2="Frühschicht";Daten!C2="V-Tag";Daten!C2="TU";Daten!C2="SU")
D2=ODER(Daten!D2="Frühschicht";Daten!D2="V-Tag";Daten!D2="TU";Daten!D2="SU")
E2=ODER(Daten!E2="Frühschicht";Daten!E2="V-Tag";Daten!E2="TU";Daten!E2="SU")
F2=ODER(Daten!F2="Frühschicht";Daten!F2="V-Tag";Daten!F2="TU";Daten!F2="SU")
G2=ODER(Daten!G2="Frühschicht";Daten!G2="V-Tag";Daten!G2="TU";Daten!G2="SU")
H2=ODER(Daten!H2="Frühschicht";Daten!H2="V-Tag";Daten!H2="TU";Daten!H2="SU")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß Atilla
Top
#8
Hallo,

was mir heute morgen noch eingefallen ist:

Man könnte auch in der von mir geposteten Datei eine Hilfsspalte einfügen, dort mit einer Formel die Gegebenheiten prüfen und dann in den anderen Spalten nur nach dieser Hilfsspalte filtern.

Da ist die Beispielsdatei von Thomas sehr flexibel.
Gruß
Peter
Top
#9
Hallo zusammen.

Sry. Die zusätzlichen Begriffe hatte ich vergessen.
Sind also 3 weitere Begriffe:
V-Tag
TU
SU

Und natürlich ist da nichts dran. Idea

Von dem was atilla geschrieben hat, verstehe ich gar nichts.
Pivot -> noch nie gemacht. Bin halt Excel noob.
Benötige da nochmal Eure Hilfe.

Danke.
Top
#10
Hallo,

dann lade doch einfach mal eine korrekte Beispielstabelle hoch wie sie der tatsächlichen Praxis entspricht und erläutere dann anhand dieses Beispiels was in welchem Tabellenblatt unter welcher Bedingung angezeigt werden soll.

Nach der Ergänzung mit den 3 weiteren Begriffen ist mir das nämlich nicht mehr so ganz klar.
Gruß
Peter
Top


Gehe zu:


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