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

Forumthread: VBA - Variable kopieren

VBA - Variable kopieren
Marten
Hallo zusammen,
also entweder stehe ich aufm Schlauch oder das wirklich kompliziert.... Habe aber auch bisher bei google nichts gefunden. Habe folgenden Code:
For i = 1 To lastrow
If Sheets(Quelle).Cells(i, 24).Value = "gleich" Then
new_value = Sheets(Quelle).Cells(i, 26).Value
new_value = new_value + Sheets(Quelle).Cells(i, 27).Value
?
Sheets(Ziel).Cells(l16 + 16, 9).PasteSpecial Paste:=xlValues
l16 = l16 + 1
End If
Next i

Da wo die Fragezeichen sind, fehlt mir der Code um den Wert aus "new_value" zu kopieren. Das kann doch eigentlich nicht so schwer sein oder? Komme da nicht weiter, kann mir hier jemand helfen? Das wäre super :)
Anzeige

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

Betreff
Benutzer
Anzeige
AW: VBA - Variable kopieren
28.03.2012 10:06:23
Rudi
Hallo,
einfach
Sheets(Ziel).Cells(l16 + 16, 9)=new_Value
Gruß
Rudi
AW: VBA - Variable kopieren
28.03.2012 10:08:39
Marten
aaaahhhhhh. Na logisch. Da habe ich zu kompliziert gedacht. VIELEN DANK :)
Anzeige
;
Anzeige

Infobox / Tutorial

VBA-Variablen kopieren in Excel


Schritt-für-Schritt-Anleitung

Um eine Variable in VBA zu kopieren, kannst Du die folgenden Schritte befolgen. Das Beispiel basiert auf dem Code, den Marten im Forum gepostet hat.

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

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Dim lastrow As Long
    Dim l16 As Long
    Dim new_value As Double
    Dim Quelle As String
    Dim Ziel As String
    
    Quelle = "Blatt1" ' Name des Quellblatts
    Ziel = "Blatt2"   ' Name des Zielblatts
    lastrow = Sheets(Quelle).Cells(Rows.Count, 24).End(xlUp).Row
    l16 = 0
    
    For i = 1 To lastrow
       If Sheets(Quelle).Cells(i, 24).Value = "gleich" Then
           new_value = Sheets(Quelle).Cells(i, 26).Value
           new_value = new_value + Sheets(Quelle).Cells(i, 27).Value
           Sheets(Ziel).Cells(l16 + 16, 9).Value = new_value
           l16 = l16 + 1
       End If
    Next i
  4. Passe die Blattnamen und Zellreferenzen an: Stelle sicher, dass die Variablen Quelle und Ziel die korrekten Blattnamen enthalten.

  5. Führe den Code aus: Drücke F5, um den Code auszuführen.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"
    Lösung: Überprüfe, ob die Variablen korrekt deklariert sind. Achte darauf, dass new_value als Double deklariert ist.

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass die Blattnamen korrekt sind. Sie müssen genau mit den Namen in Deiner Arbeitsmappe übereinstimmen.


Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die Funktionen in Excel verwenden, um Werte zu kopieren:

  1. WENN-Funktion:

    =WENN(A1="gleich", B1+C1, "")

    Diese Formel kannst Du in eine Zelle einfügen, um die Summe von B1 und C1 zu erhalten, wenn A1 "gleich" ist.

  2. Kopieren und Einfügen: Du kannst auch manuell die Werte kopieren und in die gewünschte Zelle einfügen.


Praktische Beispiele

Hier ist ein Beispiel für den vollständigen VBA-Code, der die oben beschriebenen Schritte umsetzt:

Sub KopiereVariable()
    Dim lastrow As Long
    Dim l16 As Long
    Dim new_value As Double
    Dim Quelle As String
    Dim Ziel As String

    Quelle = "Daten" 
    Ziel = "Ergebnisse" 
    lastrow = Sheets(Quelle).Cells(Rows.Count, 24).End(xlUp).Row
    l16 = 0

    For i = 1 To lastrow
        If Sheets(Quelle).Cells(i, 24).Value = "gleich" Then
            new_value = Sheets(Quelle).Cells(i, 26).Value
            new_value = new_value + Sheets(Quelle).Cells(i, 27).Value
            Sheets(Ziel).Cells(l16 + 16, 9).Value = new_value
            l16 = l16 + 1
        End If
    Next i
End Sub

Tipps für Profis

  • Verwende Option Explicit: Füge Option Explicit am Anfang Deines Moduls hinzu, um sicherzustellen, dass Du alle Variablen deklarierst. Dies hilft, Fehler zu vermeiden.

  • Nutze Debugging: Verwende Debug.Print oder die Debugger-Funktion, um den Wert von Variablen während der Ausführung zu überprüfen.

  • Dokumentiere Deinen Code: Kommentiere Deinen Code mit ', damit Du später leichter nachvollziehen kannst, was jeder Teil macht.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Variablen gleichzeitig kopieren?
Du kannst mehrere Variablen in einer Schleife bearbeiten, indem Du sie in der gleichen If-Bedingung oder in separaten If-Bedingungen behandelst.

2. Was mache ich, wenn ich eine Fehlermeldung erhalte?
Überprüfe Deine Variablen und deren Typen. Achte darauf, dass Du keine nicht definierten oder falschen Werte verwendest. Debugging kann ebenfalls hilfreich sein.

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