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

Forumthread: SVerweis im Makro

SVerweis im Makro
12.11.2002 21:48:03
toby
Hallo zusammen,
kann mir einer Helfen:
1. Wie kann ich über eine Formel oder eine Application ein SVerweis erfolgreich programmieren. BSP in Tabelle Basis stehen in der Spalte A Datumseintäge, in der Tabelle Umsätze stehen in Spalte B Datumseinträge in die D die entsprechenden Umsäte. Diese will ich mir über ein Makro i.V mit einem SVerweis holen!
2. Differenz von Datumeinträege im Makro BSP Zelle A2 11.03.01 in B2 10.10.02
Danke euch bin ein wenig verzweifelt!!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: SVerweis im Makro
12.11.2002 21:52:39
Boris
Hallo Toby,

schau dir mal VLOOKUP an:

Gruß Boris

Re: SVerweis im Makro (Boris)
12.11.2002 22:32:28
Toby
Hallo Boris komme nicht weiter. Habe folgendes programmiert:
Sub SVerweis ()
Dim i as Integer, j as Variant
Dim Datum as Date, ums as double

Worksheets("Basis").Select
nz = Columns(1).Find("").Row
For i = 2 to nz -1
Datum = Cells(i,1).Value
Worksheets("Basis").Select
j = Application.WorksheetFunktion.Vlookup(Datum,Range_("B2:D8"),2,0) - hier ist ein Fehler
' Also Datum ist in Spalte B Umsätze sind in Spalte D
next i

End sub

Wo liegt der Hase begraben???
Gruss Toby

Anzeige
Schreibfehler....
12.11.2002 22:40:38
Boris
Ohne es zu testen:
Du hast Function mit "k" geschrieben (Funktion).

Probier´s nochmal richtig aus.

Gruß Boris

;

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

Infobox / Tutorial

SVerweis im Makro effektiv nutzen


Schritt-für-Schritt-Anleitung

Um den SVerweis im Makro zu verwenden, befolge diese Schritte:

  1. Makro erstellen: Öffne Excel und erstelle ein neues Makro. Gehe zu Entwicklertools > Visueller Basic-Editor.

  2. Code einfügen: Füge den folgenden Code ein, um den SVerweis zu implementieren:

    Sub SVerweis()
       Dim i As Integer
       Dim j As Variant
       Dim Datum As Date
       Dim ums As Double
    
       ' Arbeitsblatt auswählen
       Worksheets("Basis").Select
       nz = Columns(1).Find("").Row
    
       For i = 2 To nz - 1
           Datum = Cells(i, 1).Value
           ' SVerweis anwenden
           j = Application.WorksheetFunction.VLookup(Datum, Worksheets("Umsätze").Range("B2:D8"), 2, False)
           Cells(i, 2).Value = j ' Ergebnis in Zelle B einfügen
       Next i
    End Sub
  3. Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

  • Fehler beim VLookup: Achte darauf, dass die Suchmatrix (Range) korrekt definiert ist. In dem obigen Beispiel sollte die Range in der Tabelle "Umsätze" liegen.

  • Typenkonflikte: Stelle sicher, dass die Datentypen übereinstimmen. Wenn Datumseingaben in Textform vorliegen, kann das zu Fehlern führen.

  • Falsche Spaltennummer: Überprüfe die Spaltennummer im VLookup-Befehl. Diese sollte der Spalte entsprechen, aus der du die Daten abrufen möchtest.


Alternative Methoden

Wenn du den SVerweis nicht in VBA verwenden möchtest, kannst du auch die folgenden Methoden ausprobieren:

  1. Formel in Zelle: Du kannst den SVerweis direkt in eine Zelle eingeben, um die gleichen Ergebnisse zu erzielen:

    =SVERWEIS(A2;Umsätze!B2:D8;2;FALSCH)
  2. Index und Vergleich: Eine alternative Methode ist die Verwendung von INDEX und VERGLEICH, die flexibler ist:

    =INDEX(Umsätze!D2:D8;VERGLEICH(A2;Umsätze!B2:B8;0))

Praktische Beispiele

Hier sind einige praktische Anwendungen des SVerweis im Makro:

  • Umsatzanalyse: Wenn du die Umsätze basierend auf dem Datum in der "Basis"-Tabelle abrufen möchtest, kannst du den obigen VBA-Code verwenden.

  • Datenvalidierung: Du kannst SVerweis in einem Makro verwenden, um sicherzustellen, dass die eingegebenen Daten in der "Basis"-Tabelle mit den vorhandenen Daten in der "Umsätze"-Tabelle übereinstimmen.


Tipps für Profis

  • Fehlerbehandlung: Füge eine Fehlerbehandlung in dein Makro ein, um unerwartete Fehler zu vermeiden. Zum Beispiel:

    On Error Resume Next
    j = Application.WorksheetFunction.VLookup(Datum, Range("B2:D8"), 2, False)
    If IsError(j) Then
       Cells(i, 2).Value = "Nicht gefunden"
    Else
       Cells(i, 2).Value = j
    End If
  • Dynamische Bereiche: Verwende dynamische Bereichsnamen, um sicherzustellen, dass dein Makro auch bei Änderungen in der Datenmenge funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich den SVerweis in VBA verwenden?
Verwende die Application.WorksheetFunction.VLookup-Methode, um SVerweis in dein VBA-Makro zu integrieren.

2. Was ist der Unterschied zwischen SVerweis und Index/Vergleich?
SVerweis sucht nur in der linken Spalte der Matrix, während INDEX und VERGLEICH flexibler sind und auch in beliebigen Spalten suchen können.

3. Kann ich das Makro auf mehrere Tabellen anwenden?
Ja, du kannst dein Makro so anpassen, dass es durch mehrere Tabellen iteriert und die gewünschten Daten abruft.

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