Access-o-Mania

Office-Forum (Deutsch/German) => Microsoft Excel => Thema gestartet von: Barrabas am Januar 17, 2013, 11:33:30

Titel: DropDown
Beitrag von: Barrabas am Januar 17, 2013, 11:33:30
Hallo Leute,

in einem Arbeitsblatt habe ich einen benannten Datenbereich.
Stellt euch also z.B. ein Preisliste vor. Spalte A enthält die Namen eines Produktes und Spalte B den dazugehörigen Stückpreis
In einem anderen Arbeitsblatt habe ich ich ein DropDownmenü.
Es ist mir gelungen, dieses mit den Produktnamen zu füllen und das ausgewählte Produkt in einer weiteren Zelle abzulegen.
Jetzt möchte ich auch den Stückpreis ebenfalls neben dem Produkt ausweisen.
Wie geht das (Acc2003, VBA wäre nett)

:)
Titel: Re: DropDown
Beitrag von: C4RL0 am Januar 17, 2013, 13:36:16
Interessant zu wissen wäre, WIE Du per Dropdownmenue das Produkt in die Zelle bringst. Ich vermute, Du hast da schon mit VBA rumgebastelt (was nicht zwingend nötig wäre). Ein wenig Code wäre dann nützlich. Man könnte ihn einfach ergänzen.

(Ich nehme an, Du meinst Excel 2003 und nicht Acc2003?)

Die Alternative "SVERWEIS" kommt nicht in Frage?
Titel: Re: DropDown
Beitrag von: Barrabas am Januar 17, 2013, 17:19:52
Ja, ich meinte Excel 2003 * ;)
Und ja, ich will das mit VBA machen, wegen der Flexibilität :)
Titel: Re: DropDown
Beitrag von: C4RL0 am Januar 18, 2013, 10:02:50
Ohne Code ist es natürlich nur ins Blaue geraten:

Ich gehe im Beispiel davon aus, dass Deine Datenbasis auf Tabelle2 in den Spalten A und B steht. Als Suchwert müsstest Du dann den Inhalt Deines Dropdowns mitgeben

Option Explicit
'
Function SecondValue(ByVal myValue As Variant, _
                        ByRef myMatrix As Range, _
                        ByVal myIndex As Integer) As Variant
    Dim temp As Variant
    temp = Application.VLookup(myValue, myMatrix, myIndex, False)
    If Not IsError(temp) Then
        SecondValue = temp
    Else
        SecondValue = "Nicht vorhanden"
    End If
End Function
'

Sub losgehts()
    Dim Suchwert As Variant
    Suchwert = "Test" 'Hier den Wert aus dem Dropdown hinein
    ActiveCell.Offset(0, 1).Value = SecondValue(Suchwert, Tabelle2.Range("A:B"), 2)
End Sub
Titel: Re: DropDown
Beitrag von: Barrabas am Januar 18, 2013, 12:14:44
 :) Sehr gut, genau das ist es wohl, wonach ich suchte.
Sobald ich es getestet habe, melde ich mich wieder.

Erstmal vielen Dank  ;)
Titel: Re: DropDown
Beitrag von: Barrabas am Februar 22, 2013, 22:18:44
Hallo,

hier meine Lösung
Private Sub ComboBox1_Click()
    Dim zx As Integer, MyValue As Variant
   
    Worksheets("Basisdaten").Activate
    zx = Me.ComboBox1.ListIndex
    Worksheets("Basisdaten").Cells(zx + 12, 6).Select
    MyValue = Worksheets("Basisdaten").Cells(zx + 12, 6).Value

    Worksheets("Rechner").Activate
    Range("Gegenstand1").Activate
    ActiveCell.Offset(0, 5).Value = MyValue
   
End Sub