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

Forumthread: Per VBA Werte in andere Datei kopieren

Per VBA Werte in andere Datei kopieren
30.07.2014 09:40:29
Bastian
Hallo zusammen,
ich bin neu hier und hoffe auf eure Hilfe.
Mit EXCEL kenne ich mich ein wenig aus, jedoch leider nur schlecht mit VBA.
Ich möchte gerne Daten, die teils per Dropdown erfasst werden, per Button in eine andere Arbeitsmappe wegschreiben.
Mein Code sieht wie folgt aus:

Private Sub Daten_Übertragen_Click()
Dim byWert As Byte
byWert = MsgBox("Sollen die eingegeben Daten übertragen werden?", 1, "Info")
If byWert = 2 Then
MsgBox "Übertragung wurde abgebrochen!"
ElseIf byWert = 1 Then
Application.ScreenUpdating = False
Workbooks.Open "M:\2014\Auswertungen\RFQ\RFQ Data.xlsx"
Worksheets("Data").Rows("2:2").Insert Shift:=xlDown
Range("c2").Copy Worksheets("Data").Range("A2")
Range("c3").Copy Worksheets("Data").Range("b2")
Range("c4").Copy Worksheets("Data").Range("c2")
Range("c5").Copy Worksheets("Data").Range("d2")
Range("c9").Copy Worksheets("Data").Range("e2")
Range("c10").Copy Worksheets("Data").Range("f2")
Range("c11").Copy Worksheets("Data").Range("g2")
Range("c12").Copy Worksheets("Data").Range("h2")
Range("c13").Copy Worksheets("Data").Range("i2")
Range("c14").Copy Worksheets("Data").Range("j2")
Range("c20").Copy Worksheets("Data").Range("k2")
Range("c21").Copy Worksheets("Data").Range("l2")
Range("c22").Copy Worksheets("Data").Range("m2")
Range("c23").Copy Worksheets("Data").Range("n2")
Range("c24").Copy Worksheets("Data").Range("o2")
Range("c25").Copy Worksheets("Data").Range("p2")
Range("c26").Copy Worksheets("Data").Range("q2")
Range("c16").Copy Worksheets("Data").Range("r2")
Range("c28").Copy Worksheets("Data").Range("s2")
Range("c31").Copy Worksheets("Data").Range("t2")
Workbooks("RFQ Data.xlsx").Close savechanges = yes
Application.ScreenUpdating = True
Dim strText As String
strText = " Daten erfolgreich übertragen!!"
MsgBox strText
End If
End Sub

Das habe ich mir soweit zusammen gegooelt allerdings habe ich jetzt noch ein Problem.
Die Daten werden mit Formaten, Bezügen, Namen usw. übertragen. Ich möchte aber nur die Werte übertragen. Kann ich hier einen "Special paste" einfügen oder was muss ich tun?
Vielen Dank vorab für eure Hilfe.
Gruß
Bastian

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Per VBA Werte in andere Datei kopieren
30.07.2014 09:56:20
Rudi
Hallo,
z.B.
Range("c2").Copy
Worksheets("Data").Range("A2").PasteSpecial xlPasteValues
Range("c3").Copy
Worksheets("Data").Range("B2").PasteSpecial xlPasteValues
Gruß
Rudi

AW: Per VBA Werte in andere Datei kopieren
30.07.2014 11:23:14
Bastian
Hallo Rudi,
vielen Dank! So habe ich mir das vorgestellt!
Hätte vielleicht etwas komplizierter sein können, dann würde ich jetzt nicht ganz so doof dastehen :-)
Hast du vielleicht einen Tipp wie ich mir etwas mehr VBA Kenntnisse aneignen kann.
Ich weiß z.B. nichtmal was die Punkte bedeuten, werden hierdurch nur die Kommandos getrennt?
Gruß
Bastian
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

Daten aus einer anderen Datei kopieren mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Makro oder öffne eine bestehende Arbeitsmappe.
  2. Füge einen Button hinzu, um das Makro auszuführen.
  3. Öffne den VBA-Editor (Alt + F11).
  4. Füge den folgenden Code in das entsprechende Modul ein:
Private Sub Daten_Übertragen_Click()
    Dim byWert As Byte
    byWert = MsgBox("Sollen die eingegeben Daten übertragen werden?", 1, "Info")
    If byWert = 2 Then
        MsgBox "Übertragung wurde abgebrochen!"
    ElseIf byWert = 1 Then
        Application.ScreenUpdating = False
        Workbooks.Open "M:\2014\Auswertungen\RFQ\RFQ Data.xlsx"
        Worksheets("Data").Rows("2:2").Insert Shift:=xlDown

        ' Werte kopieren und nur die Werte einfügen
        Range("c2").Copy
        Worksheets("Data").Range("A2").PasteSpecial xlPasteValues
        Range("c3").Copy
        Worksheets("Data").Range("B2").PasteSpecial xlPasteValues
        ' Füge hier weitere Kopieranweisungen hinzu, wie oben gezeigt

        Workbooks("RFQ Data.xlsx").Close SaveChanges:=True
        Application.ScreenUpdating = True
        MsgBox "Daten erfolgreich übertragen!!"
    End If
End Sub
  1. Ersetze "M:\2014\Auswertungen\RFQ\RFQ Data.xlsx" durch den Pfad deiner Ziel-Datei.
  2. Passe die Range-Anweisungen an, um die gewünschten Zellen zu kopieren.

Häufige Fehler und Lösungen

  • Problem: Die Daten werden mit Formaten und Bezügen kopiert.

    • Lösung: Verwende PasteSpecial xlPasteValues, um nur die Werte zu übertragen, wie im obigen Beispiel gezeigt.
  • Problem: Der Pfad zur Datei ist falsch.

    • Lösung: Überprüfe den Pfad und stelle sicher, dass die Datei existiert.

Alternative Methoden

  • Du kannst auch die Methode Range.Value verwenden, um Werte direkt zu übertragen, ohne die Zwischenablage zu nutzen:
Worksheets("Data").Range("A2").Value = Range("c2").Value
  • Eine weitere Option ist, das Copy und PasteSpecial durch eine Schleife zu ersetzen, um mehrere Werte effizient zu kopieren.

Praktische Beispiele

Hier sind einige Beispiele, wie du daten in eine andere arbeitsmappe per vba makro kopieren kannst:

' Beispiel für mehrere Zellen
Dim i As Integer
For i = 2 To 10
    Worksheets("Data").Cells(i, 1).Value = Range("c" & i).Value
Next i

Mit dieser Methode kannst du excel vba daten aus anderer datei kopieren und einfügen, ohne jeden einzelnen Code manuell zu schreiben.


Tipps für Profis

  • Lerne die Nutzung von With-Blöcken, um den Code lesbarer und effizienter zu gestalten.
With Worksheets("Data")
    .Range("A2").Value = Range("c2").Value
    .Range("B2").Value = Range("c3").Value
End With
  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass das Makro nur die Werte überträgt?
Verwende PasteSpecial xlPasteValues, um sicherzustellen, dass nur die Werte kopiert werden.

2. Was kann ich tun, wenn die Datei nicht geöffnet werden kann?
Überprüfe den Dateipfad und stelle sicher, dass die Datei nicht von einer anderen Anwendung gesperrt ist.

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