Hallo Rob,
Wie kann ich das Paradigma „vermeide select und activate“ hier
umsetzen?
Sub tt()
With Tabelle1
.Range("20:30").Copy
.Range("25:35").Select
.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, IconFileName:=False
End With
With Tabelle1
.Range("20:30").Copy
.Range("25:35").PasteSpecial 'Format:=3, Link:=1, DisplayAsIcon:=False, IconFileName:=False
End With
End Sub
einige Bemerkungen zum Code. Ich finde Format:=3 sehr ungünstig.
Siehst du den Code nach paar Wochen wieder weißt du dann noch für was die 3 steht? Ich nehme es nicht an. Also nimm den sprechenden Namen. Bei Link:=1 das Gleiche.
Wie du siehst habe ich die Form Tabelle1 und nicht Worksheets(„tabelle1“) genommen. Das hat den Riesenvorteil die intelli sense wird aktiviert.
Schreib mal in eine Zeile in der With-Schleife einen Punkt, dann siehste das.
Genauso wenn du den Cursor direkt hinter.
.Range(„25:35“).PasteSpecial
stellst und ein Leerzeichen eintippst…
Sowohl in XL2000 als auch XL2007 existiert PasteSpezial mit zwei Syntaxen.
Einmal für ein Worksheet-Objekt (deine erste With-Schleife) dann noch
für ein Range-Objekt, (deine zweite With-Schleife)
Deshalb bedingt das zweite PasteSpecial andere Parameter und der Debugger beschwert sich über ihm unbekannte Argumente.wie „Format“
Achja, „funktioniert nicht“ ist für eine Anfrage viel zu Informationsarm.
Hilfreich ist bei Code grundsätzlich anzugeben in welcher Codezeile kommt
welcher Fehler.
Wie kann ich mit Formeln (!) Copy-Pasten ohne daß ich die
Formatierung mitkopiere?
Da bist du ja schon bei Thomas in excellenten Händen.
PS: Ich habe jetzt nur deinen Code zum laufen gebracht. Was genau da kopiert wurde habe ich noch gar nicht geprüft.
Gruß
Reinhard