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

Forumthread: Sverweis durch Makro ersetzen

Sverweis durch Makro ersetzen
04.04.2019 10:31:32
Isabell
Hallo Zusammen,
ich würde gerne einen Sverweis in Makro hinterlegen, komme aber mit meinem nicht vorhandenen VBA Wissen nicht weiter. Ich habe folgende Rahmenbedingungen:
Ich habe 29 Tabellenblätter, alle mit unterschiedlichen Bezeichnungen
Ich möchte in jedem Tabellenblatt ein und dasselbe Makro hinterlegen:
1) Gehe zu Spalte „CW“
2) Zeige mit der Filterfunktion nur beschriebene Zeilen in CW an (oder umgekehrt -> blende alle leeren Zeilen aus)
3) Gehe danach zu Spalte „CU“
4) In der Spalte „CU“ in Zeile 2( das ist in allen Tabellenblättern immer die erste Zelle die nach dem Filtern(siehe Punkt 2)herauskommt) soll folgender Sverweis ausgeführt werden:
=SVERWEIS(A2;'Step 2'!A:B;2;FALSCH)
-> „Step2“ ist das Tabellenblatt aus dem ich meine Daten für den Sverweis holen will
5) Danach soll die Sverweis Formel für die noch anderen eingeblendeten Zeilen in „CU“ ( siehe auch Punkt 2)) angewendet werden
6) Dieser Befehl soll auf alle 29 Tabellenblätter angewendet werden
Ich schaffe es leider nicht einen VBA Code daraus zu basteln, weil ich VBA nie gelernt habe, sondern alles auf gut Glück ausprobiere.
Wenn ich diesen Befehl wie oben beschrieben mit Makro für ein Tabellenblatt( in diesem Fall „PM“ _ ) aufzeichne – wird folgender Code aufgezeichnet
Sub TestNeu()
' TestNeu Makro
Sheets("PM").Select
ActiveSheet.Range("$A$1:$VE$2433").AutoFilter Field:=101, Criteria1:=""
Range("CU2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-98],'Step 2'!C[-98]:C[-97],2,FALSE)"
Range("CU2").Select
Selection.FillDown
End Sub
Anbei noch ein Beispiel für ein Tabellenblatt
https://www.herber.de/bbs/user/128907.xlsx
Es wäre toll wenn mir jemand weitehelfen könnte.
Anbei auch ein
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Sverweis durch Makro ersetzen
04.04.2019 14:55:18
Bernd
Servus Isabell,
teste mal in einem allgemeinen Modul:

Sub test()
Dim ws As Worksheet
Dim c As Variant
Dim intLZ As Long
Dim i As Long
Dim rng As Range
Set rng = Sheets("Step 2").Range("A:A")
On Error Resume Next
For Each ws In ThisWorkbook.Worksheets
ws.Activate
If ws.Name  "Step 2" Then
intLZ = ws.Cells(Rows.Count, 1).End(xlUp).Row
With ws
For i = 2 To intLZ Step 14
If .Cells(i, "CW").Value  "" Then
c = 0
c = rng.Find(what:=ws.Cells(i, 1).Value, LookIn:=xlValues, lookat:=xlWhole).Row
If Not c = 0 Then
.Cells(i, "CU").Value = Sheets("Step 2").Cells(c, 2).Value
Else
.Cells(i, "CU").Value = "Artikelnummer nicht gefunden"
End If
End If
Next i
End With
End If
Next ws
Set rng = Nothing
End Sub
Grüße, Bernd
Anzeige
AW: Sverweis durch Makro ersetzen
04.04.2019 17:06:31
Isabell
Beeindruckend, das hat sofort funktioniert, leider würd eich gerne verstehen wie du das gemacht hast, wäre es möglich wenn du mir Zeile für Zeile erklärst was der Code zu bedeuten hat? Ich kann nur einen kleinen Teil lesen, würde aber gerne besser werden, und verstehen was der Code macht.
Vielen Dank auf alle Fälle
Anzeige
AW: Sverweis durch Makro ersetzen
05.04.2019 11:47:23
Bernd
Servus Isabell,
wegen der mäßigen Darstellungsmöglichkeit hier im Forum die Erklärung im Anhang.
https://www.herber.de/bbs/user/128934.txt
Für dich zur einfacheren Nachvollziehbarkeit würde ich dir vorschlagen den Code direkt in den VBA-Editor in ein allg. Modul zu kopieren und dann mit der Taste F8 Schritt für Schritt durchzugehen. Schalte zusätzlich das Lokalfenster unter "Ansicht" Auswahl "Lokalfenster" dazu und du kannst Codezeile für Codezeile den Fortschritt/Befüllung der Variablen nachvollziehen...
Grüße, Bernd
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

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