Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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
Inhaltsverzeichnis

Zellen in eine andere Mappe kopieren

Zellen in eine andere Mappe kopieren
23.11.2016 15:28:43
Stefan
Ich versuche ein Makro zu erstellen, das aus mehreren Arbeitsmappe den Inhalt sämtlicher Blätter untereinander in ein Blatt in die Mappe mit dem Makro kopiert.
Der Name der Mappe mit dem Makro ist bekannt. Aus den zu kopierenden Blättern ist weder der Name im Vorhinein noch die genaue Anzahl der Blätter (zwischen 1 und 20) bekannt.
Ich habe ein bisschen herumprobiert, und 2 Testsmakros erstellt.
Das mit dem Kopieren funktioniert (zumindest in der Testversion) ganz gut.
Nur das Einfügen klappt nicht.
Der Plan wäre, dass die neuen Daten in die erste freie Zelle in Spalte A kopiert werdwn.
Wenn ich das Makro in dem Blatt ausführe, in das kopiert werden soll, funktioniert es perfekt. Jedes Mal ausführen werden die Daten unten an die Liste angehängt, beginnend mit A2 (A1 = Spaltenbeschriftung). Bin ich in derselben Mappe in einem anderen Blatt, werden die Daten auch nach A2 kopiert, aber bei mehrmaligen Ausführen werden die Daten in A2 nur überschrieben. Es findet anscheinend kein Update statt, dass die neue erste freie Zelle bestimmt. Bin ich in einer anderen Mappe wenn ich das Makro ausführe (was ich ja eigentlich will), dann werden die Daten nach A14 kopiert (Nur A1 beschriftet). Keine Ahnung warum.
Ich hoffe, dass ihr mir vielleicht Hinweise geben könnt, was ich falsch mache. Ich würde mich über ein bisschen Hilfe sehr freuen, da ich gerade echt nicht mehr weiter weiß.
Hier mein Versuch. Das Hauptdokument mit dem Makro heißt Zusammenfasser.xlsm
  • 
    Sub einfügen()
    Dim ErsteFreieZelle As Long
    ErsteFreieZelle = Range("A65536").End(xlUp).Row + 1
    With Workbooks("Zusammenfasser.xlsm").Sheets("Main").Range("A" & ErsteFreieZelle)
    .PasteSpecial
    End With
    End Sub
    

  • Hier der Entwurf mit dem ich kopieren will. Ich würde die Formal für die fertige Version einfach kopieren und die Zahlen auf sheet(3) , (4) etc anpassen.
  • 
    Sub Zeilekopieren()
    Dim Anzahl As Integer
    Anzahl = ActiveWorkbook.Worksheets.Count
    Dim ErsteFreieZelle As Long
    Sheets(1).Activate
    ActiveWorkbook.Sheets(1).Range("a2", _
    ActiveWorkbook.Sheets(1).Range("a2").End(xlDown).End(xlToRight)).Select
    Selection.Copy
    If Anzahl >= 2 Then
    Sheets(2).Activate
    ActiveWorkbook.Sheets(2).Range("a2", _
    ActiveWorkbook.Sheets(2).Range("a2").End(xlDown).End(xlToRight)).Select
    Selection.Copy
    Else: End If
    End Sub
    

  • 4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zellen in eine andere Mappe kopieren
    23.11.2016 17:18:47
    Bastian
    Hey Stefan
    Teste mal So
    Gruß Basti
    Sub UseFileDialogOpen()
    Dim lngCount As Long
    Dim WSZFMA As Worksheet
    Dim WB As Workbook
    Dim ws As Worksheet
    Dim A
    Dim r
    r = 1
    Set WSZFMA = ThisWorkbook.Worksheets("MAIN")
    With Application.FileDialog(msoFileDialogOpen)
    .AllowMultiSelect = True
    .Show
    For lngCount = 1 To .SelectedItems.Count
    Debug.Print .SelectedItems(lngCount)
    Set WB = Workbooks.Open(.SelectedItems(lngCount), True, True)
    For Each ws In WB.Worksheets
    A = ws.UsedRange
    WSZFMA.Cells(r, 1).Resize(UBound(A, 1), UBound(A, 2)) = A
    r = r + UBound(A, 1)
    Next
    WB.Close False
    Next lngCount
    End With
    End Sub
    

    Anzeige
    AW: Zellen in eine andere Mappe kopieren
    24.11.2016 13:26:18
    Stefan
    Hi Basti,
    Danke für die Mühe! Funktioniert super und hilft mir sehr.
    Eine Frage hätte ich aber dazu noch. Gibt es eine Möglichkeit, die jeweils erste Zeile in einem Blatt (Überschrift) und die letzten beiden (Summen) nicht mitzukopieren?
    Falls nicht, ist es aber auch nicht dramatisch. Dann bastel ich mir was, das die Überschüssigen Zeilen löscht.
    Liebe Grüße
    Stefan
    AW: Zellen in eine andere Mappe kopieren
    24.11.2016 15:36:49
    baschti007
    Versuche es mal So
    Gruß basti
    With WS.UsedRange
    A = .Offset(1).Resize(.Rows.Count - 1, .Columns.Count)
    End With
    

    AW: Zellen in eine andere Mappe kopieren
    25.11.2016 11:25:21
    Stefan
    Lieber Basti
    Vielen lieben Dank für die Hilfe.
    Hat mir viel Zeit und einige graue Haare erspart.
    LG
    Stefan
    Anzeige

    307 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige