Supportnet / Forum / Tabellenkalkulation
Intersect mit der Funktion SVERWEIS verbinden?
Frage
Hallo!
Ueber folgende Funktion befuelle ich einige Zellen eines Blattes automatisch mit Daten und festgelegten Texten:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a4:a5000")) Is Nothing Then
Else
Target.Offset(0, 2).Value = "Wiedervorlage am: " & Date + 7
End If
...
Wie kann ich hiermit auch Zellen befuellen in Abhaenigkeit einer Eingabe? Z.B. habe ich in einem anderen Tabellenblatt Lieferantennummer und die dazugehoerigen Adressdaten stehen, die ich ueber S-Verweis einfuege.
Also:
In Spalte F trage ich die Lft-Nr. ein und in Spalte G, H, I, J ueber S-Verweis die dazugehoerigen Lft-Adressen.
Wie kann ich jetzt mittels obiger Funktion den Befehl S-Verweis verwenden, bzw. wie bekomme ich Excel dazu, in der anderen Tabelle nach der Lft-Nr. zu suchen und die dazugehoerigen Informationen in die Spalten G - J einzutragen?
Waere super, wenn das klappt.
Viele Gruesse Jones
Antwort 1 von rainberg
Hallo Jones,
probier mal das
Die Adressliste befindet sich in Tabelle2 in den Spalten A bis E.
In Tabelle1 Spalte F gibst Du das Suchkriterium (Lfd. Nr.) ein, alles andere macht das Makro.
Bei Nichtvorhandensein des Suchkriteriums werden keine Adressdaten zurück gegeben.
Gruß Rainer
probier mal das
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws2 As Worksheet, sngI As Single
Set ws2 = Worksheets("Tabelle2")
If Not Intersect(Target, Range("F4:F5000")) Is Nothing Then
On Error Resume Next
For sngI = 2 To 5
Target.Offset(0, sngI - 1).Value = _
WorksheetFunction.VLookup(Target.Value, _
ws2.Range("A1:E" & ws2.Cells(Rows.Count, 1).End(xlUp).Row), sngI, 0)
Next
End If
End Sub
Die Adressliste befindet sich in Tabelle2 in den Spalten A bis E.
In Tabelle1 Spalte F gibst Du das Suchkriterium (Lfd. Nr.) ein, alles andere macht das Makro.
Bei Nichtvorhandensein des Suchkriteriums werden keine Adressdaten zurück gegeben.
Gruß Rainer
Antwort 2 von JonesM
Hallo Rainer,
vielen Dank erst einmal. Werde es morgen ausprobieren und dir Rückmeldung geben.
Ciao Thomas
vielen Dank erst einmal. Werde es morgen ausprobieren und dir Rückmeldung geben.
Ciao Thomas
Antwort 3 von JonesM
Hallo Rainer,
hatte jetzt Zeit es zu testen und es funktioniert.
Mir ist aber nicht klar, was
in der letzten Zeile bewirkt. Sollte dies
heissen?
Vielen Dank und Gruesse
Thomas
hatte jetzt Zeit es zu testen und es funktioniert.
Mir ist aber nicht klar, was
Zitat:
ws2.Range("A1:E" & ...
ws2.Range("A1:E" & ...
in der letzten Zeile bewirkt. Sollte dies
Zitat:
ws2.Range("A1:E5000" & ...
ws2.Range("A1:E5000" & ...
heissen?
Vielen Dank und Gruesse
Thomas