Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
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

werte statt formel in externe Arbeitsmap

werte statt formel in externe Arbeitsmap
25.10.2021 13:43:16
Fred
Hallo Excel Profis,
Ich hänge gerade (mal wieder) fest.
Ich kopiere in eine zweite Arbeitsmappe so:

wbStart.Sheets("Head").Range("M18:S28").Copy Destination:=wbZiel.Sheets("main").Range("AQ10")
Der Zellinhalt im Qellbereich beinhaltet Formeln. Ich möchte allerdings nur die Formelergebnisse (Werte) einfügen.
Kann mir bitte jemand den Makroteil entsprechend korrigieren?!
Gruss
Fred

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: werte statt formel in externe Arbeitsmap
25.10.2021 13:47:19
Klaus

wbStart.Sheets("Head").Range("M18:S28").Copy
wbZiel.Sheets("main").Range("AQ10").PasteSpecial xlPasteValues
Überträgt keine Formate, das geht mit xlPasteFormats!
LG,
Klaus M.
AW: werte statt formel in externe Arbeitsmap
25.10.2021 14:06:10
Fred
Hallo Klaus,
danke für die Korrektur!
Anscheinend habe ich eine demenzielle Entwicklung ... hatte in dieser Hinsicht schon öfters gefragt ...
Ich habe schon länger den Gedanken, dass ich eine DB anlege,- mit den von mir hier im Forum angefragten Code-Snippets ...
Gruss
Fred
AW: werte statt formel in externe Arbeitsmap
25.10.2021 13:52:42
UweD
Hallo
so?

wbZiel.Sheets("main").Range("AQ10").Resize(10, 7).Value = _
wbStart.Sheets("Head").Range("M18:S28").Value
LG UweD
Anzeige
AW: werte statt formel in externe Arbeitsmap
25.10.2021 14:03:21
UweD
sorry, sind ja 11 Zeilen

.Resize(11, 7)

AW: werte statt formel in externe Arbeitsmap
25.10.2021 14:08:23
Fred
Hallo Uwe,
hör mir blos auf mit dem ".Resize" .. das geht mal überhaupt nicht in meinen Kopf :-)
.. aber natürlich: Danke!
Gruss
Fred
AW: werte statt formel in externe Arbeitsmap
25.10.2021 14:14:54
UweD
Falls man nicht zählen kann, dann geht es auch so...

Set RNG = wbStart.Sheets("head").Range("M18:S28")
wbZiel.Sheets("main").Range("AQ10").Resize(RNG.Rows.Count, RNG.Columns.Count).Value =        RNG.Value

AW: werte statt formel in externe Arbeitsmap
25.10.2021 14:33:30
Fred
Hallo Uwe,
"sowas" wie von Klaus

wbStart.Sheets("Head").Range("M18:S28").Copy
wbZiel.Sheets("main").Range("AQ10").PasteSpecial xlPasteValues
ist für mich zu 100% nachvollziehbar.
Deine "Beispiele" erinnern mich eher an Enigma ...
Mit Sicherheit haben solche Schreibweisen ihre Berechtigung und Vorteile, mich verwirren diese aber nur. Um das zu kapieren müßte sich meine Lebenserwartung um da x-fache vervielfältigen,- und das wäre wohl der größte Schock für meine Freundin :-)
Gruss
Fred
Anzeige
AW: werte statt formel in externe Arbeitsmap
25.10.2021 15:19:58
Klaus
Hallo Fred,
Uwe's Code ist um Längen performanter als meiner - bei einigen dutzend Zellen ist das egal (tausendstel Sekunden), aber spätestens wenn du mal mit 400.000+ Einträgen Listen arbeiten musst und Excel minutenlang am Code knuspert bis du froh, sowas auch ohne den langsamen "Copy" Befehl lösen zu können.
Ich habe dir mit Blick auf dein angegebenes Level und der sehr übersichtlichen Range die kopiert werden muss absichtlich den schlechteren, aber nachvollziehbareren Code genannt. Mein Rat ist, benutze nur Code den du auch verstehst ... aber versuche auch immer Code zu verstehen, um ihn dann zu benutzen :-)
LG,
Klaus M.
Anzeige
AW: werte statt formel in externe Arbeitsmap
25.10.2021 16:01:27
Daniel
HI
stimmt so nicht ganz.
ob Copy-PasteSpecial oder .Value = .Value performanter ist, hängt meiner Erfahrung davon ab, wie und vieviele Daten du überträgst.
Verarbeitest du sehr viele Zellen in einem Schritt, ist Copy-PasteSpecial schneller und leistungsfähiger.
hast du jedoch viele kleine Zellbereiche, die so übertragen werden müssen, ist .Value = .Value besser.
hängt damit zusammen, dass es bestimmte Aktionen gibt, die durch die eine Aktion ausgelöst werden, durch die andere jedoch nicht.
so wird z.B. beim Copy-PasteSpecial der Einfügebereich selektiert und somit das SelectionChange-Event ausgelöst, zumindest muss bei jedem Vorgang geprüft werden, ob eines vorhanden ist.
Beim .Value = .Value hingegen passiert das nicht.
Dafür findet beim .Value = .Value die implizite Typumwandlung für jede eingefügte Zelle statt.
dh steht in der Quellzelle ein Formelergebnis das eine Zahl als Text ausgibt oder der Text Leerstring ("1", bzw ""), so wird bei .Value = .Value aus dem Text "2" die Zahl 2 gemacht und aus dem Leerstring "" wird eine echte Leerzelle.
bei .Copy-PasteSpecial hingegen bleibt alles so, wie in den Quellzellen vorgegeben , dh der Text "2" bleibt der Text "2" und der Text "" bleibt Text "".
Daher der Unterschied zwischen beiden Methoden.
Gruß Daniel
Anzeige
AW: werte statt formel in externe Arbeitsmap
25.10.2021 15:29:32
UweD
Wenn du kein Resize möchtest ..

wbZiel.Sheets("main").Range("AQ10:AW20").Value = _
wbStart.Sheets("Head").Range("M18:S28").Value

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige