Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Code optimieren (Copy&Paste)

Forumthread: Code optimieren (Copy&Paste)

Code optimieren (Copy&Paste)
Martin
Hallo,
ich versuche gerade meinen mit dem Makrorecorder aufgezeichneten Code zu verbessern. Daher die Frage ob Ihr noch n Tipp hättet das ganze noch weiter zu kürzen. Ich hab' schon einiges ausprobiert, aber es klappt's nicht so recht.

Import.Range("C4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Ausgabe.Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
Gibt's da noch n Kniff für den Copybereich, oder ist dies schon die beste Lösung?
Würde mich über einen Tipp freuen :-)
LG,
Martin
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Code optimieren (Copy&Paste)
26.03.2012 14:50:50
JoWE
Hallo Martin,
ohne das völlig überflüssige select geht's vllt. so:
Sub copy()
Dim shI, shA As Worksheet
Set shI = Sheets("Import")
Set shA = Sheets("Ausgabe")
shI.Range("C4:C" & shI.Range("C4").End(xlDown).Row).copy
shA.Range("B4").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Wenn ich die Vraiablendeklaration, die Aufhebung der Markierung wegließe und die Verwendung der Worksheetnamen statt der VAriablen setzte wär's immer noch kürzer!?
Gruß
Anzeige
kleine Änderung
26.03.2012 15:12:10
Erich
Hi JoWE,
deine Deklaration ist verbesserungsfähig. Mit "Dim shI, shA As Worksheet"
deklarierst du shI nicht als Worksheet, sondern als Variant.
Ich meine:
Dim shI As Worksheet, shA As Worksheet
Aber sind diese Variablen überhaupt nötig? Vielleicht sind ja Import uns Ausgabe bereits Objektvariablen,
oder es sind Codenamen der Tabellenblätter - was auch ok wäre.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: kleine Änderung
26.03.2012 15:40:08
Martin
Hallo,
vielen Dank euch beiden. Genau das habe ich gesucht! Klasse! Auf die Variablen habe ich allerdings verzichtet, weil Import/Ausgabe die Namen der Tabellenblätter sind.
Mein Code jetzt:

Import.Range("C4:C" & Import.Range("C4").End(xlDown).Row).copy
Ausgabe.Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
Import.Range("B4:B" & Import.Range("B4").End(xlDown).Row).copy
Ausgabe.Range("C4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
usw
Matrin
Anzeige
AW: Jau!! Ich nicke ergebenst! oT
26.03.2012 16:17:55
JoWE

Forumthreads zu verwandten Themen

Anzeige