Daten per VBA kopieren
#11
Hallo,

vielen Dank für deine Mühe.

Ich habe nichts aufgezeichnet weil ich mal wieder auf mehreren Hochzeiten tanze, weil ich gestern dauernd Probleme mit dem Aufzeichnen hatte (jedes Mal ist Excel abgestürzt wenn ich eine bestimmte Texteingabe gemacht habe; als ich eine neue Mappe erstellt habe und genau die selben Eingaben gemacht habe gab es keine Probleme; weiss der Kuckuck warum) und auch weil ich einen globalen Code brauche -vor allem weil die Anzahl der Personen variabel ist- , d.h. nicht den selben Code für jede Person wiederholen, sondern einen einzigen der die Aktion für so viele Personen durchzieht wie in der Liste sind..

Deine Aufzeichnung werde ich jetzt mal eingehend studieren.

Einen schönen Abend
Alooha
Top
#12
Hallo,
dein Code funktioniert, aber, wie gesagt, ich brauche einen flexibleren, der für den ausgewählten Monat und alle Agenten die es gibt genau die Zeilen kopiert in denen Daten stehen, Letzteres kriege ich übrigens selbst hin, die 2 anderen Variablen aber nicht.
MfG
Alooha
Top
#13
Hallöchen,

flexibel wäre dann so. Der Code fügt die Daten dann immer ans Ende der vorhandenen an. Wenn Du nun 5x Februar drückst, dann bekommst Du ihn auch 5x Smile
Voraussetzung für das Makro ist noch eine Erweiterung der Liste der Monate. Gib in B1 bitte diese Formel ein
=MONATSENDE("1.1.2017";ZEILE()-1)
und ziehe sie runter bis Dezember. Ansonsten dort bitte nix ändern, ich verarbeite auch die Zeilennummer, wo der Monat steht.

Code:
Sub Makro1()
    Dim iRow
    Set iRow = Sheets("Liste der Monate").Range("A1:A12").Find(What:=Cells(3, 5).Value, After:=Sheets("Liste der Monate").Cells(1, 1), LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    iRow = iRow.Row
    Sheets("Agent 1").Select
    Application.CutCopyMode = False
    Columns("A:A").AutoFilter
    ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
        xlFilterValues, Criteria2:=Array(1, WorksheetFunction.Text(Sheets("Liste der Monate").Cells(iRow, 2), "mm/dd/yyyy"))
    Rows("2:15").Copy
    Sheets("SYNTHESE").Select
    Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial
    Sheets("Agent 2").Select
    Application.CutCopyMode = False
    Columns("A:A").AutoFilter
    ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
        xlFilterValues, Criteria2:=Array(1, WorksheetFunction.Text(Sheets("Liste der Monate").Cells(iRow, 2), "mm/dd/yyyy"))
    Rows("2:15").Copy
    Sheets("SYNTHESE").Select
    Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial
    Sheets("Agent 3").Select
    Application.CutCopyMode = False
    Columns("A:A").AutoFilter
    ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
        xlFilterValues, Criteria2:=Array(1, WorksheetFunction.Text(Sheets("Liste der Monate").Cells(iRow, 2), "mm/dd/yyyy"))
    Rows("2:15").Copy
    Sheets("SYNTHESE").Select
    Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#14
Hallo André,
erstmal vielen Dank für den Code.
Ich werde Rückmeldung geben, ob ich ihn richtig integrieren konnte. Schöne WE
Alooha
Top


Gehe zu:


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