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

Mit Destination nur Werte übernehmen

Forumthread: Mit Destination nur Werte übernehmen

Mit Destination nur Werte übernehmen
07.07.2005 00:39:51
Peter
Hallo,
ich möchte das nur die zellen-werte übenommen werden, nicht aber die formatierung der zellen. Wie muß ich den nachfolgenden code dazu ändern?
Workbooks(f.Name).Sheets(1).Range("B1:B12").Copy _
Destination:=Workbooks("Vorlage.xls").Sheets(1).Range("C1:C12")
Vielen Dank im vorraus
MfG Peter B
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mit Destination nur Werte übernehmen
07.07.2005 00:48:34
PeterW
Hallo Peter,
versuch es mal so:
Workbooks(f.Name).Sheets(1).Range("B1:B12").Copy
Workbooks("Vorlage.xls").Sheets(1).Range("C1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Gruß
Peter
AW: Mit Destination nur Werte übernehmen
07.07.2005 09:24:03
Matthias
Hallo Peter,
oder einfach

Workbooks("Vorlage.xls").Sheets(1).Range("C1:C12").Value = Workbooks(f.Name).Sheets(1).Range("B1:B12").Value

Gruß Matthias
Anzeige
Danke euch beiden
07.07.2005 10:49:45
Peter
kann es leider erst heut nachmittag ausprobieren.
Wird aber bestimmt funktionieren.
Eigentlich hätt ich selber draufkommen müssen.
MfG Peter B
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Werte ohne Formatierung mit VBA kopieren


Schritt-für-Schritt-Anleitung

Um in Excel VBA Werte zu kopieren, ohne die Formatierung zu übernehmen, kannst du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel.
  2. Füge ein neues Modul hinzu.
  3. Verwende einen der folgenden Codes, um die Werte zu kopieren:

    Methode 1: Mit .Copy und PasteSpecial

    Workbooks(f.Name).Sheets(1).Range("B1:B12").Copy
    Workbooks("Vorlage.xls").Sheets(1).Range("C1").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False

    Methode 2: Direkte Zuweisung

    Workbooks("Vorlage.xls").Sheets(1).Range("C1:C12").Value = Workbooks(f.Name).Sheets(1).Range("B1:B12").Value

Beide Methoden sichern, dass nur die Werte übertragen werden, während die Formatierungen der Zielzellen unberührt bleiben.


Häufige Fehler und Lösungen

  1. Fehler: Der Zielbereich hat nicht genügend Zellen.
    Lösung: Stelle sicher, dass der Zielbereich gleich groß ist wie der Quellbereich.

  2. Fehler: Der Code funktioniert nicht in älteren Excel-Versionen.
    Lösung: Überprüfe, ob die verwendeten Methoden in deiner Excel-Version unterstützt werden.

  3. Fehler: Werte sind nicht korrekt kopiert.
    Lösung: Vergewissere dich, dass der Quellbereich korrekt angegeben ist und die Zellen nicht leer sind.


Alternative Methoden

Neben den oben genannten Methoden kannst du auch die Range.Value-Zuweisung nutzen, um Werte zu kopieren. Diese Methode ist oft effizienter, insbesondere bei größeren Datenmengen, da sie keine Zwischenablage verwendet.

Workbooks("Vorlage.xls").Sheets(1).Range("C1:C12").Value = Workbooks(f.Name).Sheets(1).Range("B1:B12").Value

Diese Methode ist besonders nützlich, wenn du nur mit Werten arbeiten möchtest und keine Formatierungen benötigst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Methoden anwenden kannst:

  • Beispiel 1: Kopiere Werte von einem Arbeitsblatt in ein anderes:

    Sub WerteKopieren()
       Workbooks("Daten.xlsx").Sheets(1).Range("A1:A10").Copy
       Workbooks("Ziel.xlsx").Sheets(1).Range("B1").PasteSpecial Paste:=xlPasteValues
    End Sub
  • Beispiel 2: Direkte Zuweisung ohne .Copy:

    Sub WerteDirektKopieren()
       Workbooks("Daten.xlsx").Sheets(1).Range("A1:A10").Value = Workbooks("Ziel.xlsx").Sheets(1).Range("B1:B10").Value
    End Sub

Tipps für Profis

  • Nutze die Application.ScreenUpdating = False Anweisung, um die Bildschirmaktualisierung während des Kopiervorgangs auszuschalten. Das kann die Ausführungsgeschwindigkeit deines VBA-Skripts erhöhen.

  • Wenn du große Datenmengen bearbeitest, bedenke, den Calculation-Modus auf xlCalculationManual zu setzen, um die Berechnung zu pausieren, bis der Kopiervorgang abgeschlossen ist.

  • Teste deinen Code regelmäßig mit Debug.Print, um herauszufinden, ob die richtigen Werte und Bereiche verwendet werden.


FAQ: Häufige Fragen

1. Kann ich auch Formate kopieren, wenn ich nur Werte übernehme?
Nein, wenn du nur die Werte mit der PasteSpecial-Methode überträgst, werden die Formate nicht mitkopiert.

2. Funktioniert dieser Code in Excel 2010 und neueren Versionen?
Ja, die vorgestellten Methoden sind auch in Excel 2010 und neueren Versionen vollständig kompatibel.

3. Wie kann ich mehrere Bereiche gleichzeitig kopieren?
Du kannst mehrere Range-Objekte im Code angeben oder Schleifen verwenden, um mehrere Kopiervorgänge durchzuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige