Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Einfach: Wert kopieren nicht Formel

VBA Einfach: Wert kopieren nicht Formel
12.09.2014 10:24:14
Sascha
Guten Tag,
und da habe ich noch eine einfach Frage.
Sheets("maske").Range("B2:B2").Copy Sheets("Datenbank").Cells(i, 2)
Kopiert mir den Sverweis der Zelle. Ich möchte aber nur den Zahlenwert haben.
Ich habe es mit pastspecial etc versucht. Aber ich weiß nicht wie das aussehen muss.
Entschuldigt diese dumme Frage.

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Einfach: Wert kopieren nicht Formel
12.09.2014 10:26:16
Hajo_Zi

Sub Werte()
'   Formeln ersetzen durch Werte ohne Formate
Columns("B:C").Copy
Columns("B:C").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False         'Zwischenspeicher löschen
End Sub
Sub Werte_Format()
'   Formeln ersetzen durch Werte mit Formate
'    Workbooks("Datei1.xls").Worksheets("Tabelle1").Range(Sheets("Tabelle1").UsedRange.Address). _
Copy
' Vorschlag Verbesserrung NoNet
Workbooks("Datei1.xls").Worksheets("Tabelle1").UsedRange.Copy
With Workbooks("Datei2.xls").Worksheets("Tabelle1").Range("A1")
.PasteSpecial Paste:=xlValues       ' Werte
.PasteSpecial Paste:=xlFormats      ' Formate
End With
Application.CutCopyMode = False
End Sub

Anzeige
AW: VBA Einfach: Wert kopieren nicht Formel
12.09.2014 13:43:33
Daniel
Hi
nur Werte kann man in VBA so übertragen:
Sheets("Datenbank").Cells(i, 2).Value = Sheets("maske").Range("B2").Value

bei diesem Verfahren muss man bei grösseren Zellbereichen selbst darauf achten, dass Quell-Bereich un und Zielbereich gleich gross sind.
alternativ mit Copy-Paste
Sheets("maske").Range("B2:B2").Copy
Sheets("Datenbank").Cells(i, 2).Paste Special xlpastevalues
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel VBA: Nur Werte kopieren und keine Formeln


Schritt-für-Schritt-Anleitung

Um in Excel VBA nur Werte zu kopieren und keine Formeln, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Einfügen eines neuen Moduls: Klicke mit der rechten Maustaste auf dein Projekt im Projektfenster, wähle "Einfügen" und dann "Modul".

  3. Code einfügen: Füge einen der folgenden Codes in das Modul ein:

    Werte direkt zuweisen:

    Sheets("Datenbank").Cells(i, 2).Value = Sheets("maske").Range("B2").Value

    Copy-Paste-Methode:

    Sheets("maske").Range("B2:B2").Copy
    Sheets("Datenbank").Cells(i, 2).PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
  4. Anpassen der Zellreferenzen: Achte darauf, dass die Zellreferenzen (z.B. "B2", i) an Deine speziellen Anforderungen angepasst sind.

  5. Makro ausführen: Starte das Makro, um die Werte zu kopieren.


Häufige Fehler und Lösungen

  • Fehler: Formeln werden kopiert
    Lösung: Stelle sicher, dass Du PasteSpecial Paste:=xlValues verwendest, um nur Werte zu kopieren.

  • Fehler: Zielbereich hat andere Größe
    Lösung: Achte darauf, dass der Quellbereich und der Zielbereich gleich groß sind, wenn Du mehrere Zellen kopierst.


Alternative Methoden

Falls Du eine andere Methode bevorzugst, kannst Du auch die Value-Eigenschaft verwenden:

Sheets("Datenbank").Cells(i, 2).Value = Sheets("maske").Range("B2").Value

Diese Methode kopiert den Wert direkt ohne die Verwendung von Copy-Paste und ist besonders nützlich, wenn Du nur einen einzelnen Wert übertragen möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du Werte in Excel kopieren kannst:

  1. Wert kopieren ohne Format:

    Sheets("maske").Range("B2").Copy
    Sheets("Datenbank").Cells(i, 2).PasteSpecial Paste:=xlValues
  2. Werte statt Formeln kopieren:

    Dim i As Integer
    For i = 1 To 10
       Sheets("Datenbank").Cells(i, 2).Value = Sheets("maske").Cells(i, 1).Value
    Next i

Tipps für Profis

  • Verwende die Application.CutCopyMode = False Zeile nach dem Kopieren, um den Zwischenspeicher zu leeren und die Auswahl zu entfernen.
  • Wenn Du große Datenmengen verarbeiten musst, achte darauf, den Code effizient zu gestalten, um die Ausführungsgeschwindigkeit zu erhöhen.
  • Nutze die Möglichkeit, mehrere Bereiche gleichzeitig zu kopieren, indem Du den Bereich in einer Schleife durchläufst.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur Werte und keine Formeln kopiert werden?
Verwende die PasteSpecial Paste:=xlValues Methode, um sicherzustellen, dass nur die Werte ohne Formeln übertragen werden.

2. Was ist der Unterschied zwischen Copy und Value in VBA?
Copy kopiert sowohl den Wert als auch die Formatierung, während Value nur den tatsächlichen Wert überträgt, was bedeutet, dass keine Formeln oder Formate mitkopiert werden.

3. Kann ich mehrere Zellen gleichzeitig kopieren?
Ja, Du kannst mehrere Zellen kopieren, achte jedoch darauf, dass der Quellbereich und Zielbereich gleich groß sind.

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