Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1684to1688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige