Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopieren ohne .copy

Kopieren ohne .copy
01.11.2019 22:41:35
Alexander
Hallo,
ich möchte gerne Zellen kopieren(mit Formeln und Formatierung) ohne dafür copy verwenden zu müssen. Im Augenblick mach ich das so:
Dim rg As Range
With Workbooks("S_Tool(1)")
Set rg = Sheets("Data").Range("AH1:AQ3")
rg.Copy
Sheets("Sverweis-Auswahl").Range("E2").PasteSpecial
End With
Ich würde es aber lieber ohne copy machen so ungefähr:
Dim rg As Range
With Workbooks("S_Tool(1)")
Set rg = Sheets("Data").Range("AH1:AQ3")
Sheets("Sverweis-Auswahl").Range("E2").Resize(rg.Rows.Count, rg.Columns.Count) = rg.Value
End With
Das Problem dabei ist natürlich, dass ich so nur den Text Inhalt bekomme und nicht alle Zellwerte.
Hat jemand eine Idee wie ich das in dem zweiten Beispiel trotzdem hinbekommen könnte ohne copy und ohne das ganze aufzublähen.
Gruß

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren ohne .copy
02.11.2019 06:53:01
Hajo_Zi
dass ist aufwendige.
Du mnusst jede Eigenschaft wie
- Schriftart
- Fett
- kursiv
- Rahmen oben
- usw
einzeln übertragen.Viel Erfolg für diesen langen weg.

AW: Kopieren ohne .copy
02.11.2019 09:42:05
Oberschlumpf
Hi Alexander,
mich würde mal interessieren, wieso du ohne .Copy kopieren willst?
Ciao
Thorsten
Eventuelle Alternative?
02.11.2019 10:14:41
Martin
Hallo Alexander,
auch wenn meine Antwort nicht ganz deiner Aufgabenstellung entspricht, wäre folgender Code vielleicht auch in Ordnung für dich?
Sub Beispiel()
Sheets("Data").Range("AH1:AQ3").Copy Sheets("Sverweis-Auswahl").Range("E2")
End Sub
Übrigens wird in deinem Beispielcode die Angabe...
With Workbooks("S_Tool(1)")

...ignoriert und das Makro wird immer in der aktiven Arbeitsmappe ausgeführt.
Wenn du das Makro aus einer anderen aktiven Arbeitsmappe startest und dein Makro trotzdem nur in T_Tools(1) ausgeführt werden soll, müsste der Code so aussehen:
Sub Beispiel()
With Workbooks("S_Tool(1)")
.Sheets("Data").Range("AH1:AQ3").Copy .Sheets("Sverweis-Auswahl").Range("E2")
End With
End Sub
Der Punkt vor dem Sheets verweist auf das Objekt der With-Anweisung (also auf die Arbeitsmappe S_Tool(1).
Viele Grüße
Martin
Anzeige
AW: Eventuelle Alternative?
02.11.2019 13:06:24
Alexander
Hallo zusammen,
Danke für Eure Antworten.
Der Grund ist, dass ich inzwischen ein relativ komplexes Excel Projekt habe, mit dem auch mehrere Leute arbeiten, daher habe ich angefangen jeden Codeteil auf Geschwindigkeit zu überprüfen und möglichst viel mit globalen variabeln zu machen damit nicht alles zusammenbricht wenn jemand mal eine Spalte hinzufügen möchte oder den Namen von etwas ändert. Und ich habe festgestellt, dass "copy" mehr Zeit beansprucht als es direkt zuzuordnen, daher hab ich alle "copy" entfernt, da meistens nur Daten transferiert werden ist das ja kein Problem, ich hab aber auch ein paar Stellen wo eben zusätzlich Formeln und ein Layout transportiert werden sollen, und da klappt es so nicht, ich hätte aber einfach gerne alles im gleichen Style, das gibt mir ein besseres Gefühl :D
Ich dachte, vielleicht gibt es ne Möglichkeit die ich nicht sehe. Ansonsten lass ich an den paar Stellen eben einfach das .copy.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige