Registriert seit: 14.04.2020
Version(en): 2016 2007
Hallo,
Ich habe im Tabellenblatt "Leg1 1-2" eine Änderung im Bereich V21:W23 vorgenommen.
Habe dann nachfolgendes Makro aufgenommen, was diesen Bereich in das nächst folgende Tabellenblatt kopiert.
Dieses soll jetzt aber noch in ca. 20 nachfolgenden Tabellenblätter so gemacht werden.
Kann man dieses Makro so erweitern das man das erste und letzte Tabellenblatt, also in meinem Beispiel "Leg1 1-3" bis "Leg5 2-3" anspricht wo es dann reinkopiert werden soll.
Ich habe folgendes versucht um dieses Makro zu erweitern: Sheets("Leg1 1-3"):Sheets("Leg5 2-3").Select , leider ohne Erfolg.
Danke schon mal im Voraus
Gruß Didi
Code:
Sub Kopieren()
'
' Kopieren Makro
'
'
Sheets("Leg1 1-2").Select
Range("V21:W23").Select
Selection.Copy
Sheets("Leg1 1-3").Select
Range("V21").Select
ActiveSheet.Paste
Range("E8").Select
End Sub
Registriert seit: 24.06.2021
Version(en): office2019
Nun dein Beitrag ist schon länger her,deswegen die Frage, ob du es lösen konntest?
Registriert seit: 14.04.2020
Version(en): 2016 2007
Was heißt länger her?, ist von gestern 25.06.21 17:14
Registriert seit: 28.06.2021
Version(en): 2010
Hallo
dann probiere doch bitte diesen Code aus:
Ich gehe davon aus, dass Leg1 1-2 das Tabellenblatt1 ist, ansonsten
Tabelle1.Range anpassen.
Sub Kopieren()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
wks.Range("V21:W23").Value = Tabelle1.Range("V21:W23").Value
Next
End Sub
Schönen Gruß, marzian
Registriert seit: 14.04.2020
Version(en): 2016 2007
Hallo Marzian,
dein Code kopiert mir nur die Werte aus der Tabelle, die Formatierung (Rahmen, Farben) kopiert er nicht mit.
Weiterhin wird es in allen Tabellenblätter kopiert.
Ich bräuchte eine Lösung, dass aus Tabellenblatt 2 der Bereich V21:W23 mit allen Formatierungen dann in die Tabellenblätter 3 bis 20 kopiert wird.
Also nicht in die Blätter davor bzw. dahinter.
Trotzdem Danke für dein Vorschlag.
Gruß Didi
Registriert seit: 30.09.2018
Version(en): Microsoft 365
Kurze Google Suche:
Schau dir die VBA Funktionen
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
an.
Cadmus
Registriert seit: 14.04.2020
Version(en): 2016 2007
Jo, dass wäre sicherlich eine längere Google Suche bei mir.
Hab es da auch schon mit mehreren Suchanfragen versucht.
Hätte gehofft, dass es eine einfachere Möglichkeit gibt.
Dann werde ich mir wohl die Mühe machen müssen alles einzeln in die Tabellenblätter reinzukopieren.
Trotzdem Danke
Didi
Registriert seit: 12.06.2020
Version(en): 2024, 365business
(29.06.2021, 22:41)DartDidi schrieb: ..... dass es eine einfachere Möglichkeit gibt.....
Und die wäre? Andere die Arbeit machen lassen?
Du hast die Hälfte der Lösung schon bekommen. Aber is vielleicht besser das du das in Zukunft trotzdem lieber von Hand machst.
Sub schleife()
Dim ws
Dim iZahl As Integer
For Each ws In Worksheets
iZahl = CInt(Replace(ws.CodeName, "Tabelle", ""))
If iZahl >= 3 And iZahl <= 20 Then
'hier eigener Code
End If
Next ws
End Sub
Registriert seit: 14.04.2020
Version(en): 2016 2007
Hallo,
vielen Dank, komme ich so nicht mit zurecht.
Verstehe dieses auch nur Ansatzweise.
habe versucht den Code aus meinem ersten Beitrag einzufügen, kommen nur Fehlermeldungen.
Auch kein Problem, dann kopiere ich das eben per Hand einzeln nacheinander.
Gruß Didi
Registriert seit: 28.06.2021
Version(en): 2010
Hallo,
ok, dann probiere es so:
Sub Kopieren()
Dim i As Integer
Application.ScreenUpdating = False
For i = 3 To 20
Tabelle2.Range("V21:W23").Copy
Sheets(i).Range("V21:W23").PasteSpecial
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Herzliche Grüße
marzian