Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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 12: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 13: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 13: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 14:17:55
JoWE
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige