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

Wert in anderen Tabellenblatt suchen mittels vba

Wert in anderen Tabellenblatt suchen mittels vba
11.07.2018 10:10:55
Anni1987
Hallo,
ich habe folgendes Problem:
Ich habe eine Exceltabelle mit zwei Tabellenblättern.
Im ersten Blatt stehen Werte (10 Stellige Zahl) in Spalte B (5.500 Zeilen). Ich will nun überprüfen, ob diese Werte im zweiten Blatt in Spalte B stehen (9 Zeilen), und wenn ja, dass mir der Wert aus Spalte A der 2. Tabelle in der ersten Tabelle Spalte D wiedergegeben wird. Die gleiche Überprüfung erfolgt noch einmal mit Spalte A des zweiten Blattes, wobei dann der Wert aus Spalte B wiedergegeben werden soll.
Ich habe es bereits mit wie folgt probiert, es funktioniert auch, aber dabei rechnet excel sich tod:
for c = 2 to letzteZeilerelevant1
Sheets("relevant").Range("D" &c).formulaR1C1 = Iferror(Index(Mittelgeberbestand!R1:R1048576, Matsch (RC[-2, Mittelgeberbestand!C2,0),1), If error(Index(Mittelgeberbestand!R1:R1045876,Match(Rc[-2], Match(RC[-2],Mittelgeberbestand!C1,0),2),""""))"
Next c
Ich arbeite mit Excel 2016.
Gibt es eine schnellere Möglichkeit?
Vielen Dank

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

Betreff
Datum
Anwender
Anzeige
AW: Wert in anderen Tabellenblatt suchen mittels vba
11.07.2018 13:18:31
MCO
Hallo Anni!
Das sollte für den ersten Teil klappen, den zweiten Teil musst du dann dementsprechend mit den Suchbereichen anpassen
Gruß, MCO
Sub Tab_suche()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim rng1 As Range, rng2 As Range
Dim rng2_n_arr, rng2_w_arr As Variant
Set sh1 = Sheets(1)
Set sh2 = Sheets(2)
Set rng1 = sh1.Range("B:B").SpecialCells(xlCellTypeConstants) 'zu suchende Nummern
Set rng2 = sh2.Range("B:B").SpecialCells(xlCellTypeConstants) 'findebereich
For Each num2 In rng2 'Werte in Datenobjekt schreiben
rng2_num = rng2_num & num2 & ","
rng2_Wert = rng2_Wert & num2.Offset(0, -1) & ","
Next
rng2_n_arr = Split(rng2_num, ",")
rng2_w_arr = Split(rng2_Wert, ",")
For Each num In rng1 'Suchbereich durchlaufen
For i = 0 To UBound(rng2_n_arr) - 1
If CStr(num) = rng2_n_arr(i) Then num.Offset(0, 2) = rng2_w_arr(i) 'Eintrag bei Ü _
bereinstimmung
Next i
Next num
End Sub

Anzeige
AW: Wert in anderen Tabellenblatt suchen mittels vba
12.07.2018 12:21:51
Anni1987
Hallo MCO,
vielen Dank! für die schnelle Rückmeldung.
Leider meckert er noch das die Variablen
Num2, rng_num2, rng2_Wert nicht definiert sind.
Soll ich die auch als Variant definieren?
Hab ich jetzt zumindest erstmal so eingegben, um zu schauen ob es läuft, aber es taucht ein weiterer Fehler auf : Sub oder Function nicht definiert und markiert das erste Splitt. Was muss ich hier noch tun.
Magst du mir vielleicht auch kurz beschreiben was der code genau macht? So weit sind meine vba Kenntnisse leider nicht, dass ich ihn vollständig verstehe.
nur dieser Hinweis
14.07.2018 10:52:14
Oberschlumpf
Hi Anni,
hast du "Splitt" nur in deiner Antwort so geschrieben, oder auch im Code?
Im Code MUSS es "Split" heißen.
Hilfts?
Ciao
Thorsten
Anzeige

328 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige