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

VBA Tabelle nach zwei Bedienungen durchsuchen

VBA Tabelle nach zwei Bedienungen durchsuchen
24.08.2017 15:44:13
Christian
Hallo zusammen!
Ich habe heute wieder eine Frage an Euch zu einem VBA-Problem, bei dem ich nicht weiter komme:
Ich habe zwei Tabellenblätter.
Ein mal ein "Eingabeblatt" wo ich eine Start-Stadt und eine Ziel-Postleitzahl eingeben muss.
Zum zweiten gibt es ein "Datenbankblatt" in dem unter anderem die Start-Städte und eventuelle Ziel-Postleitzahlen stehen können.
Hier mal ein Screenshot von dem Datenbankblatt.

Jetzt möchte ich eigentlich nur, dass wenn ich im "Eingabeblatt" meine Eingaben gemacht habe (Stadt-Stadt und Ziel-Postleitzahl) Excel im Hintergrund prüft, ob es zu dieser Start-Stadt einen passenden Eintrag der Ziel-Postleitzahl gibt. Wenn ja, dann brauche ich nur eine MsgBox, wenn nein, soll nichts weiter passieren.
Jemand eine Idee wie ich das umsetzten kann?
Gruß
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabelle nach zwei Bedienungen durchsuchen
24.08.2017 18:24:12
Piet
Hallo,
bitte diesen Code mal in das Modul für Eingabe Blatt kopieren und schauen ob er brauchbar ist. Wenn nicht passen wir ihn an.
Ich gehe davon aus dass das Datum bei Eingabe und Datenbank in Spalte A steht, sonst muss man die Columns anpassen.
mfg Piet

Dim Adr1 As String, rFind As Range, SuName As String
Private Sub Worksheet_Change(ByVal Target As Range)
'Prüfung bei Eingabe PLZ in Zelle C2
If Target.Column = 3 And Target.Value  "" Then
With Worksheets("Datenbank")
SuName = Target.Offset(0, -1).Value
Set rFind = .Columns(2).Find(What:=SuName, After:=Range("B1"), LookIn:= _
xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False)
If Not rFind Is Nothing Then
Adr1 = rFind.Address
Txt = Empty
Do
If rFind.Cells(1, 2) = Target.Value Then
If Txt  "" Then Txt = Txt & Chr(10)
Txt = Txt & rFind.Cells(1, 0) & "  " & rFind.Cells(1, 3)
End If
Set rFind = .Columns(2).FindNext(After:=rFind)
Loop Until rFind.Address = Adr1
MsgBox Txt
End If
End With
End If
End Sub

Anzeige
AW: VBA Tabelle nach zwei Bedienungen durchsuchen
25.08.2017 09:42:15
Christian
Hallo Piet,
vielen Dank für deine Antwort.
Ich versuche mich gerade an deinem Code, komme da aber da noch nicht ganz klar, vielleicht hilft es, wenn etwas genauer meine Zellstruktur beschreibe:
1.) "Eingabeblatt"
Heißt in Wirklichkeit z. B. "ESS". Somit ist in diesem Fall die Start-Stadt (nämlich Essen)
immer vorgegeben (es gibt aber noch weitere Tabellenblätter mit weiteren Städten).
Ich gebe die Postleitzahl im Feld "B35" ein
2.) "Datenbankblatt"
Heißt in Wirklichkeit immer "Vereinbarung" und sieht wie auf meinem Screenshot aus.
Der erste Landeort befindet sich immer in Zelle D19 (und die Liste geht bis D1500)
Die erste Postleitzahl befindet sich in der Zelle E19 (und die Liste geht bis E1500)
3.)
Zum Verständnis: In Zelle I19 würden sich jetzt Geldbeträge befinden (passend halt zur Start-Stadt und Postleitzahl).
4a.) Schön wäre jetzt also, wenn mittels VBA geprüft würde, ob es eine Vereinbarung zu der passenden Star-Stadt und der Postleitzahl gibt und wenn ja, wenn der Geldbetrag in der MsgBox angezeigt wird.
4b.) Ich habe mir noch überlegt, ob es für mich nicht mit einer Formel einfacher wäre (warum mit einer Kanone auf Spatzen schießen?). Gibt es eine Formel, bei der ich prüfe, ob es einen vereinbarten Geldbetrag zur Start-Stadt mit einer gewissen Postleitzahl gibt? Wenn "ja", soll der dazugehörige Geldbetrag angezeigt werden, bei "nein" soll nichts weiter geschehen.
Gruß
Christian
Anzeige
AW: Frage an Kollegen - Formellösung möglich ?
25.08.2017 11:08:58
Piet
Hallo Christian
anbei eine Beispieldatei mit dem Versuch die beschriebene Datei nachzubauen. Ich hoffe es klappt.
Bitte probiere mal in der Beispiel Datei mit deinen Originaldaten wie gut meine Lösung ist?
Es wurde aber auch eine Formellösung angefragt, da muss ich passen, ist nicht mein Fachgebiet.
Deshalb stelle ich den Thread mit deiner Frage für die Formel Kollegen nochmal offen.
mfg Piet
https://www.herber.de/bbs/user/115746.xlsm
AW: Frage an Kollegen - Formellösung möglich ?
25.08.2017 13:20:20
Christian
Hallo Piet,
vielen Dank für die Beispieldatei. genau das habe ich gesucht.
Am besten gefallen mir deine Anmerkungen im Code! Die helfen mir sehr beim verstehen, was, wann und warum passiert!
Nochmals vielen Dank und ein schönes Wochenende!
Gruß
Christian
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige