Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Drop Down Liste an Hand von Suchkriterien
#11
@Rabe & @Elex ,

vielen Dank für eure Hilfen. Habe mich in den letzten Tagen nicht ans Computer setzen können (Feiertage, Besuch, etc.).

Aber nach wie vor will und muss ich hierzu eine Lösung finden und daher nochmals vielen Dank für eure Lösungen.

Werde sie wahrscheinlich erst am Donnerstag / Freitag ausprobieren können, weil dann wieder der Trubel bei mir Zuhause bisschen nachlässt.

Sry auch für die kurzen Antworten .. Aber das Tippen am iPad ist echt ekelhaft.

Wünsch euch bis dahin schöne Feiertage.
Antworten Top
#12
Guten Morgen nochmals an alle,

ich konnte mir nun endlich @Exel seine Lösung in einer Beispieldatei ansehen.

Xmas32  Und es war einer der besten Weihnachtsgeschenke die ich in diesem Jahr bekommen habe  :19: .

Klappt tadellos und erfüllt alle meine Wünsche restlos. Vielen, vielen Dank nochmal.

Das einzige wovor ich bisschen Schiss habe ist, ob ich es auch wirklich hinkriege es in meinen original Liste zu integrieren. Aber irgendwann Mal muss man ja seine Komfortzone verlassen und sich auf was neues einlassen. Und ich muss mich endlich mal mit dem Makro / VBA Thema auseinander setzen.
Und wenn nicht mit so einer geilen und hilfsbereiten Community, wann denn sonst?

Natürlich nochmal auch ein riesen Dankeschön an dich @Rabe für die Alternativlösung.
Dank dir habe ich mich nun intensiver mit intelligenten Listen beschäftigt und habe nun Erfahrungen für die Zukunft mitnehmen dürfen.

VG,
Antworten Top
#13
:16:  Es kam wie es kommen musste: Ich kack beim umschreiben der paar Zeilen ab.

Könnte mir jemand bitte (wieder mal) nachhelfen?

Im Anhang habe ich meine original Struktur eingefügt ( - Irrelevante Spalten und Daten leer gelassen und nicht benötigte Tabellen ebenfalls gelöscht).

Der Code von Elex hat wunderbar funktioniert gehabt. Aber wie gesagt, habe ich es nicht hinbekommen es aus meine Struktur anzupassen.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim PBasis, DatenAnlauf As Variant
Dim dict As Object
Dim i, n, a, m As Long
Dim DatPrü As String
Dim rng As Range

'**************************** Doppelklick in Spalte C ************************
If Target.Column = 3 Then
 Set dict = CreateObject("Scripting.Dictionary")
 DatenAnlauf = Sheets("Anlaufstellen").Range("A1").CurrentRegion
 
 If Target.Address = "$C$1" Then
    Set rng = Range("B1", Range("B1").End(xlDown))
 Else
    Set rng = Target.Offset(-1, -1).Resize(2)
    m = Target.Row - 2
 End If
 PBasis = rng.Value
 
 For i = 2 To UBound(PBasis, 1) 'Vergleich ersten drei Stellen der PLZ
    For n = 1 To UBound(DatenAnlauf, 1)
       If Left(PBasis(i, 1), 3) = Left(DatenAnlauf(n, 1), 3) Then 'bei gleich Datensatznummer merken
          dict(a) = DatenAnlauf(n, 7) & " - " & DatenAnlauf(n, 1) & " - " & DatenAnlauf(n, 2) & " - " & DatenAnlauf(n, 3)
          a = a + 1
       End If
    Next n
   
    DatPrü = Join(dict.items, ",")
    If DatPrü <> "" Then
       With Cells(i + m, 4).Validation 'Dropdown in Spalte D ausgeben
           .Delete
           .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=DatPrü
       End With
       Randomize 'in Spalte C eine der ---Neunstelligen--- Datensatznummern ausgeben (zufällig)
       Cells(i + m, 3).Value = dict(Int(dict.Count * Rnd))
       Cells(i + m, 4) = ""
    End If
   
     a = 0   'zurücksetzen für nächsten Vergleich
     dict.RemoveAll
 Next i
End If
'**********************************************************************************
Set dict = Nothing
Cancel = True
End Sub

Wenn jemand bitte ein weiteres Mal so nett wäre mir zu Hand zu gehen?
Versprochen! Es gibt auch kein Copy & Paste von mir!
Ich werde die beiden Codes via Word miteinander vergleichen damit ich ein kleines Verständnis dafür bekomme, was sich an welcher Stelle, wie, verändert hat.

Und wenn ihr noch die Zeit findet:
Ich kriege immer in den Hilsspalten (Basis, Spalte W und X) komischerweise immer eine Zeilennummer unter dem realen Wert. Ich habe es umgangen in dem ich einfach +1 hinzugefügt habe. Beim Vergleich hatte Elex in der Formel 1* drin. Das musste ich aber weg editieren weil meine Datensatznummern mit 0 anfangen.
Im Sinne von:
Datensatznummer: 012345 ergibt 1*012345 = 12345
Und daher musste ich eben die 1* weg machen.

Abschließend nur noch ein kleines anliegen.
Code:
Code:
=WENNFEHLER(WENN($P21="";INDEX(Aktuelle_BLZ!$J$2:$J$20000;$W21;);INDEX(Aktuelle_BLZ!$J$2:$J$20000;$X21;));"")
Hier würde ich gerne die manuell eingetragene "20000" mit Anzahl2(Aktuelle_BLZ!J:J) umändern. Aber obwohl scheinbar so einfach, hat es trotzdem nicht geklappt.


Ps.
Ich habe es als *.xlsx angehängt damit man sicher gehen kann, dass ich euch keine unanständigen Makros unterschiebe ( :19: Dafür wäre ich ehh zu blöd).


Angehängte Dateien
.xlsx   Beispiel mit richtiger Struktur.xlsx (Größe: 1,29 MB / Downloads: 4)
Antworten Top
#14
Hallöchen,

ich habe es mal versucht. Was mir fehlt, ist eine Beschreibung, was an Deiner Struktur und Verfahrensweise anders ist. Da muss man sich nun aus der Datei alles raussuchen und schauen, ob es zu Deinem Anliegen passt Sad Eine Beispieltabelle ist nun mal nicht alles ...

Wenn ich den Beitrag von Rabe richtig gelesen habe, muss der Code in das Modul vom Tabellenblatt Basis. Damit kein Fehler kommt, muss der Blattname "Anlaufstellen" auf "Aktuelle_BLZ" im Code geändert werden. Das hättest Du mal schon machen können, bevor Du den Code postest  :21:

Ansonsten passiert erst mal nix. Der Code funktioniert bei Doppelklick auf eine Zelle in Spalte C. Dann wird was in Spalte B gesucht. Und die ist leer Sad
Ich vermute mal, dass Du jetzt auf Spalte O klicken und in Spalte G suchen willst?  
Im Code steht $C$1 und B1. Das müsstest Du entsprechend ändern.

Target.Offset(-1, -1).Resize(2) sollte nach der Änderung der Spalten noch passen.

Bei der Sache mit dem DropDown in Spalte D kannst Du überlegen, ob es in eine andere Spalte soll. Jetzt steht da z.B. Cells(i + m, 4) und statt der 4 (=D) müsstest Du die Spaltennummer entsprechend ändern.


Gleiches gilt dann dafür - Cells(i + m, 3) --> 3 (=C) müsste für O angepasst werden, das wäre die 15.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Sevemiyen
Antworten Top
#15
Hi Sevemiyen,
 
das Anpassen des Codes an die Spalten war schnell erledigt. Jetzt tritt aber ein Problem auf das ich so auch nicht erwartet habe. Wenn man eine Liste direkt in die Datenprüfung schreibt ist diese auf 255 Zeichen begrenzt, was hier in manchen Fällen zu wenig ist. Schreibt man die Liste mit VBA in die Datenprüfung, so kommt Excel während der Laufzeit auch mit eine Liste von mehr als 255 Zeichen klar. Nach dem Speichern und dem Versuch die Datei erneut zu öffnen wird die Datenprüfung dann aber aus den Zellen entfernt.
 
Werde mir eine Alternative überlegen. Hoffe bis Mittwoch nochmal etwas Zeit zu finden.
 
In den Spalten O und P soll jetzt was erscheinen. In deinem Bsp. ist es nur die Datensatznummer.
 
Zufaelliger_Datensatz   ->  Datensatznr. – PLZ – Ort ????
 
DropDown_Datensatz  ->  ?????
 
Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Sevemiyen
Antworten Top
#16
Hi

Hier der alternative Vorschlag mit einer UF.

.xlsm   PLZ Neu.xlsm (Größe: 26,26 KB / Downloads: 6)

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Sevemiyen
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste