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

Xverweis mittels vba

Forumthread: Xverweis mittels vba

Xverweis mittels vba
25.04.2023 16:08:10
Helga

Hallo Forum,
ich suche die Möglichkeit mittels einer Schleife oder dergleichen mir aus einer Tabelle Werte in eine andere kopieren zu können wenn zwei Bedingungen erfüllt sind. Einmal soll in einer Zeile geprüft werden ob der Wert >=1980 ist (z.B Range("B45:BE45")) und dann in einer andere Spalte (z.B Range("A46:A56")) ob das Wort z.B "April" drin steht. Wenn Beides erfüllt ist sollen bestimmte Zellinhalte in eine andere Arbeitsmappe kopiert werden. (soll wie Xverweis funktionieren)
Wie müsste man das im Code umsetzen?
Ich bin für jeden Tipp dankbar!
Gruß
Helga

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Xverweis mittels vba
25.04.2023 16:16:31
onur
Aber was hat dein Problem mit XVerweis zu tun? XVerweis funktioniert nicht so.


AW: Xverweis mittels vba
25.04.2023 16:17:32
Daniel
im Prinzip so
dim Zeile as range
dim Spalte as Range

for each Zeile in Range("A46:A56")
     if Zeile.Value = "April" then
            for each Spalte Range("B45:BE45")
                if Spalte.Value >= 1980
                       hier dann dein Code zum kopieren "bestimmter Zellen"
                 end if
            next
       end if
next
Gruß Daniel


Anzeige
AW: Xverweis mittels vba
25.04.2023 16:22:24
Helga
Danke Daniel!

;
Anzeige

Infobox / Tutorial

Xverweis mittels VBA in Excel


Schritt-für-Schritt-Anleitung

Um den Xverweis in Excel mittels VBA zu implementieren, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

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

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub XverweisMitVBA()
       Dim Zeile As Range
       Dim Spalte As Range
    
       For Each Zeile In Range("A46:A56")
           If Zeile.Value = "April" Then
               For Each Spalte In Range("B45:BE45")
                   If Spalte.Value >= 1980 Then
                       ' Hier deinen Code zum Kopieren bestimmter Zellen einfügen
                   End If
               Next Spalte
           End If
       Next Zeile
    End Sub
  4. Anpassen des Codes: Füge den spezifischen Code zum Kopieren der Zellen ein, wenn die Bedingungen erfüllt sind.

  5. Ausführen des Makros: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

  • Xverweis funktioniert nicht: Stelle sicher, dass die richtigen Zellbereiche in deinem Code angegeben sind. Überprüfe auch, ob die Bedingungen korrekt formuliert sind.
  • Xverweis geht nicht: Vergewissere dich, dass dein Excel die Funktionen unterstützt, die du verwendest. In älteren Versionen könnte der Xverweis nicht verfügbar sein.

Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du auch die Funktionen SVERWEIS oder INDEX und VERGLEICH verwenden. Diese Excel-Funktionen können ähnliche Ergebnisse liefern, jedoch ist ihre Flexibilität im Vergleich zum VBA Xverweis eingeschränkt.


Praktische Beispiele

Hier ist ein Beispiel, wie du Werte aus einer Tabelle in eine andere kopieren kannst, wenn zwei Bedingungen erfüllt sind. Die Bedingungen sind, dass das Jahr in der Zeile größer oder gleich 1980 ist und die Spalte das Wort "April" enthält.

Sub BeispielXverweis()
    Dim Ziel As Workbook
    Set Ziel = Workbooks.Open("C:\DeinPfad\Zielarbeitsmappe.xlsx")

    Dim Zeile As Range
    Dim Spalte As Range
    Dim ZielZeile As Long
    ZielZeile = 1 ' Startzeile im Ziel

    For Each Zeile In Range("A46:A56")
        If Zeile.Value = "April" Then
            For Each Spalte In Range("B45:BE45")
                If Spalte.Value >= 1980 Then
                    Ziel.Worksheets(1).Cells(ZielZeile, 1).Value = Zeile.Value
                    ZielZeile = ZielZeile + 1
                End If
            Next Spalte
        End If
    Next Zeile
End Sub

Tipps für Profis

  • Verwende Option Explicit: Setze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Nutze Debugging: Verwende Debug.Print oder setze Haltepunkte, um deinen Code zu testen und sicherzustellen, dass die Logik funktioniert.
  • Optimierung der Schleifen: Reduziere die Anzahl der Schleifen, wenn möglich, um die Performance zu verbessern, besonders bei großen Datenmengen.

FAQ: Häufige Fragen

1. Warum funktioniert der Xverweis in Excel nicht?
Das kann verschiedene Gründe haben, wie falsche Zellreferenzen oder Kompatibilitätsprobleme mit älteren Excel-Versionen.

2. Wie kann ich doppelten Xverweis in VBA implementieren?
Du kannst mehrere Bedingungen in deinem VBA-Code kombinieren, um einen doppelten Xverweis zu erstellen. Achte darauf, die Logik entsprechend anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige