Excel Dropwdown Datenüberprüfung mit Erklärungsspalte

skagway

Cadet 4th Year
Registriert
Juni 2009
Beiträge
83
Hallo zusammen,

habe zwei Spalten in einer Tabelle:

A B
12 Einszwei
23 Zweidrei
34 Dreivier

Und möchte in die dritte Spalte C mit Hilfe der Datenüberprüfung eine Dropdown-Liste einfügen (keine Kombibox) die mir nur die möglichen Werte aus der Spalte A zulässt. Während man auswählt sollen aber in der Liste hinter den jeweiligen Werten noch die Erklärungen aus Spalte B stehen.
Wenn man dann den jeweiligen Eintrag ausgewählt hat soll in der Zelle C1 aber nur der Inhalt aus Zelle A1 stehen.

Hintergrund ist, dass in Spalte A unmerkbare Codenummern stehen und diese in Spalte B in Worten erklärt werden.

Eine Lösung habe ich hier schon gefunden: Klick (Ich hoffe ich darf hierhin verlinken)

Allerdings wird bei mir (siehe Anhang) vor den Code in Zelle K2 noch ein Leerzeichen eingefügt. Und damit kann ich nachher nicht weiterarbeiten. Weiteres Problem ist, dass jedes Mal wenn ich wieder auf die Zelle mit dem Code klicke eine Fehlermeldung kommt, dass "Code" ein ungültiger Wert ist. Steht ja so auch nicht in meiner Gültigkeitsliste - klar.

Ich wäre also froh wenn es noch irgend eine andere Lösung gäbe - vielleicht ohne VBA?

Freundliche Grüsse
skagway
 

Anhänge

  • Screen Shot 2012-11-11 at 19.47.35.png
    Screen Shot 2012-11-11 at 19.47.35.png
    23,1 KB · Aufrufe: 317
Wenn du dich da auf den Trick mit der Hilfsspalte beziehst..:
=A4&" : "&B4
Dort werden A4, ein String aus Leerzeichen-Doppelpunkt-Leerzeichen und B4 verkettet. Ich vermute, dass da dein ominöses Leerzeichen herkommt.

CN8
 
Hab ich auch gedacht. Das Leerzeichen aus dem String entfernt; also nur noch mit " :" verbunden und dann war vor dem Code in der Spalte ein ":".

Also muss in dem VBA Code irgendwie hinterlegt sein dass er das letze Zeichen vor dem Code auch noch mit in die Zelle schreiben soll.

Was wiederum widerlegt wird, dadurch dass es im gezeigten Beispiel funktioniert. Trotz " : " wird nachher in die gewünschte Zelle einzig und allein die Zahl geschrieben.

Danke trotzdem für die Bemühungen!
 
OK; falsch abgebogen - Formel statt Makro :freaky:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    '10.02.2012, NoNet - www.excelei.de
    Dim rngB As Range, rngZ As Range
    Dim strTrennzeichen As String
    
    Set rngB = Intersect(Target, [F3]) 'F3 ist die Zelle mit der Gültigkeitsprüfung !
    strTrennzeichen = " : " 'Trennzeichen zwischen den beiden Zellinhalten
    
    If Not rngB Is Nothing Then
        For Each rngZ In rngB
            If InStr(rngZ, strTrennzeichen) > 0 Then
                Application.EnableEvents = False
                rngZ.Value = Mid(rngZ, InStr(rngZ, strTrennzeichen) + Len(strTrennzeichen) - 1, Len(rngZ))
                Application.EnableEvents = True
            End If
        Next
    End If
End Sub
Aber auch in dem Code sehe ich kein einzelnes Leerzeichen, nur unseren String " : ".
Diese Zeile mit «rngZ.Value = Mid…» stört mich etwas, aber sie muss es sein. Die Berechnung schneidet aus einer Kombination XXXX_:_YYYY ab einschließlich dem 2. _ (der unser Leerzeichen symbolisiert) den Quellstring ab; also letztlich Leerzeichen + die Erklärung.
Ohne die -1 da drin sollte allein die Erklärung erscheinen.

CN8
 
Vielen Dank! Ohne die "-1" hat's funktioniert. Danke für deine aufgeopferte Zeit!

Noch mal kurz die Frage: Ohne Makros geht es nicht, oder?
 
Zurück
Oben