Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

DropDown

Begonnen von Barrabas, Januar 17, 2013, 11:33:30

⏪ vorheriges - nächstes ⏩

Barrabas

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)

:)

C4RL0

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?
_____________________________
Gruß
Carlo

Barrabas

Ja, ich meinte Excel 2003 * ;)
Und ja, ich will das mit VBA machen, wegen der Flexibilität :)

C4RL0

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
_____________________________
Gruß
Carlo

Barrabas

 :) Sehr gut, genau das ist es wohl, wonach ich suchte.
Sobald ich es getestet habe, melde ich mich wieder.

Erstmal vielen Dank  ;)

Barrabas

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