Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

nur Werte kopieren bei referenzieren

nur Werte kopieren bei referenzieren
Eckhard
Liebe Wissende,
ich habe hier schon einiges gefunden, was ich gebrauchen konnte und vieles, was ich nicht verstanden habe :-)
Jetzt habe ich folgendes Problem.
Ich möchte ohne Select (was ich auch hier gefunden habe und ganz toll finde) von einer Arbeitsmappe in eine andere nur den Wert einer Zelle kopieren.
Dieses Codefragment funktioniert, aber es kopiert alles.
Workbooks(CStr(wbAngebot)).Worksheets("Vordruck").Range("empfaenger").Copy _
Workbooks("Angebotsbuch.xlsm").Worksheets("Tabelle1").Range("hier")
Application.CutCopyMode = False
Dann habe ich das hier im Forum gefunden:
.PasteSpecial Paste:=xlPasteValues
Also das hier:
Workbooks(CStr(wbAngebot)).Worksheets("Vordruck").Range("empfaenger").Copy _
Workbooks("Angebotsbuch.xlsm").Worksheets("Tabelle1").Range("hier").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
aber dann bekomme ich einen Fehler beim Kompilieren - Erwarte Anweisungsende. Lasse ich das Paste usw. weg, klappt es, aber eben mit allen Formatierungen.
Kann jemand helfen oder muss ich in diesem Fall doch über Select gehen?
Danke und lg
Eckhard

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: nur Werte kopieren bei referenzieren
18.09.2011 23:44:13
Nepumuk
Hallo,
einfach so:

Workbooks("Angebotsbuch.xlsm").Worksheets("Tabelle1").Range("hier").Value = _
    Workbooks(CStr(wbAngebot)).Worksheets("Vordruck").Range("empfaenger").Value

Erst ab ca. 3.000 Zellen ist der Weg über das Clipboard schneller. Das geht dann so:

Workbooks(CStr(wbAngebot)).Worksheets("Vordruck").Range("empfaenger").Copy
Workbooks("Angebotsbuch.xlsm").Worksheets("Tabelle1").Range("hier").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

Gruß
Nepumuk
Anzeige
AW: nur Werte kopieren bei referenzieren
18.09.2011 23:53:06
Daniel
Hi
das normale Kopieren ist ein einzeiliger Befehl bei dem man den Zielbereich als Parameter mit angeben kann (die Benennung des Parametes Destination:= kann man weglassen):

Range("Quelle").Copy Destination:=Range("Ziel")

das Kopieren und Einfügen als Wert hingegen besteht immer aus zwei einzelnen Befehlszeilen, nämlich dem Kopieren und dem Einfügen, beides wird getrennt ausgeführt:

Range("Quelle").Copy
Range("Ziel").PasteSpecial xlpasteValues
in deinem Fall führt der Unterstrich am Zeilenende zur Verwirrung.
Durch den Unterstrich am Zeilenende "_" wird diese und die folgende Zeile zu einer logischen Programmzeile verbunden, so als hätte man alles in eine Zeile geschrieben.
das ist im Fall von Copy auch korrekt so, nur wenn man mit PasteSpecial arbeiten will, darf man das nicht tun.
Gruß, Daniel
ps für den Beispielcode habe ich jetzt mal mich auf die Range beschränkt und die ganze vollständige Referenzierung vom Workbook an weggelassen, damit es übersichtlicher wird.
Anzeige
AW: nur Werte kopieren bei referenzieren
19.09.2011 06:33:13
Eckhard
Das einfache ist genial.
Vielen Dank. Das funktioniert und wieder weiß ich ein wenig mehr.
Gruß Eckhard

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige