Registriert seit: 29.09.2015
Version(en): 2030,5
@Fen
Code:
Sub M_snb()
If Sheets(1).Name <>"Gesamt" Then Sheets(1).Copy Sheets(1)
Sheets(1).Name = "Gesamt"
Sheets(1).UsedRange.Offset(1).ClearContents
End Sub
Registriert seit: 06.12.2015
Version(en): 2016
Hallo Andrea,
mein Code kopiert ab sheets(2) bis zum letzten sheet. Falle das weiter eingeschränkt werden soll, müssen die Kriterien bekannt sein.
Kannst du den Vorschlag von snb in den Code integrieren? (ein "feihändiger" Versuch)
Code:
Sub andrea1()
If Not Sheets(1).Name = "Gesamt" Then
Sheets.Add before:=Sheets(1)
Sheets(1).Name = "Gesamt"
Sheets(2).Rows(1).Copy Sheets("Gesamt").Cells(1, 1)
Else
Sheets("Gesamt").Cells.offset(1).Clearcontent
End If
Sheets(2).Rows(1).Copy Sheets("Gesamt").Cells(1, 1)
For i = 2 To Sheets.Count
lr = Sheets("Gesamt").Cells(Rows.Count, "A").End(xlUp).Row + 1
Sheets(i).UsedRange.Offset(1).Copy Sheets("Gesamt").Cells(lr, "A")
Next i
End Sub
mfg
(bei copy/paste ist ein zweites Mal "Code" dazugekommen und ich habe nicht gefunden, wie das wieder gelöscht werden kann)
Registriert seit: 26.07.2016
Version(en): 2010
Hallo Fennek,
ich habe versucht deinen Code so anzupassen, dass erst ab Register 4 kopiert wird. Hat leider nicht geklappt. :22:
Außerdem müsste der Code noch so erweitert werden, dass ich das Makro mehrmals ausführen kann und sich das Register Gesamt dann immer wieder aktualisiert.
Da ich mich leider (noch) nicht so gut mit VBA auskenne, konnte ich auch den Code von snb nicht integrieren. :20:
Vielen Dank für die tolle Unterstützung!
LG
Registriert seit: 06.12.2015
Version(en): 2016
Hallo,
wie wäre es damit:
Code:
Sub andrea1()
If Not Sheets(1).Name = "Gesamt" Then
Sheets.Add before:=Sheets(1)
Sheets(1).Name = "Gesamt"
Sheets(2).Rows(1).Copy Sheets("Gesamt").Cells(1, 1)
Else
Sheets("Gesamt").Cells.offset(1).Clearcontent
End If
Sheets(2).Rows(1).Copy Sheets("Gesamt").Cells(1, 1)
For i = 4 To Sheets.Count 'hier auf 4 erhöhen
lr = Sheets("Gesamt").Cells(Rows.Count, "A").End(xlUp).Row + 1
Sheets(i).UsedRange.Offset(1).Copy Sheets("Gesamt").Cells(lr, "A")
Next i
End Sub
Da das Sheets("Gesamt") immer gelöscht wird, sollte der Makro beliebig oft laufen können.
mfg
Registriert seit: 29.09.2015
Version(en): 2030,5
@Fen
Sheets("Gesamt").Cells.offset(1).Clearcontents
Registriert seit: 26.07.2016
Version(en): 2010
Hallo zusammen,
ich war jetzt ein paar Tage auf Dienstreise und kann mir eure Vorschläge erst ab morgen anschauen.
Danke und LG
Registriert seit: 26.07.2016
Version(en): 2010
Guten Morgen,
leider lässt sich das Makro nicht öfter ausführen. Es erscheint immer eine Fehlermeldung: "Laufzeitfehler 1004"
Außerdem wird die Überschrift aus Register 1 genommen und die Inhalte ab Register 4. Die Überschrift sollte auch aus Register 4 kommen.
Aktuell ist das Makro so aufgebaut, dass eine Kopie inkl. Formeln erstellt wird. Kann man auch "Werte einfügen" ?
Lieben Dank!
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hi,
(31.08.2016, 13:48)snb schrieb: Sheets("Gesamt").Cells.offset(1).Clearcontents
getestet? ;)
Gruß Uwe
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Andrea,
Sub Andrea2()
Dim i As Long, lr As Long
If Not Sheets(1).Name = "Gesamt" Then
Sheets.Add before:=Sheets(1)
Sheets(1).Name = "Gesamt"
Else
Sheets("Gesamt").Cells.ClearContents
End If
Sheets(4).Rows(1).Copy Sheets("Gesamt").Cells(1, 1)
For i = 4 To Sheets.Count 'hier auf 4 erhöhen
lr = Sheets("Gesamt").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets(i).UsedRange.Offset(1).Copy
Sheets("Gesamt").Cells(lr, 1).PasteSpecial Paste:=xlPasteValues
Next i
End Sub
Gruß Uwe
Registriert seit: 26.07.2016
Version(en): 2010
Vielen Dank für die schnelle Antwort. Funktoniert super - bis auf, dass die Register 2x kopiert werden

Würde es auch gehen, dass die Werte in ein bereits vorhandenes Register "Gesamt" kopiert werden was bereits vorformatiert ist? Also immer nur die Inhalte gelöscht werden und wieder eingefügt und nicht das gesamte Blatt?