Myślę, że to powinno działać, przynajmniej w Excelu 2011.
W poniższym kodzie „ComboResult” jest wyjściem twojego pola kombi („link do komórki”). Należy wprowadzić jako odwołanie do komórki w podwójnych cudzysłowach, tj. „C7”.
Podobnie „LookupTable” to zakres komórek w tabeli roślin, tj. „A1: E50”. Ponownie, podwójne cudzysłowy. Zakładam, że twoja tabela odnośników znajduje się na arkuszu 2. Można użyć nazwanego arkusza za pomocą Arkuszy („nazwa arkusza”). Range ().
Ponieważ pole kombi wyświetla liczbę (pozycję wybraną przez użytkownika na liście), twoja tabela odnośników musi mieć kolumnę indeksu jako pierwszą kolumnę. Będzie to tylko 1,2,3 itd. Do liczby roślin na liście.
Sub FillTextbox()
'Set up variables
Dim TextboxName As String
Dim TextboxText As String
Dim Line1Text As String
Dim Line2Text As String
Dim Line3Text As String
'Assemble the text
Line1Text = "Plant Number: " &
Sheet2.Application.WorksheetFunction.VLookup(Range("ComboResult"),
Sheet2.Range("LookupTable"), 3, False)
Line2Text = "Purchasing Group: " &
Sheet2.Application.WorksheetFunction.VLookup(Range("ComboResult"),
Sheet2.Range("LookupTable"), 4, False)
Line3Text = "Profit Center: " &
Sheet2.Application.WorksheetFunction.VLookup(Range("ComboResult"),
Sheet2.Range("LookupTable"), 5, False)
TextboxText = Line1Text & vbNewLine & Line2Text & vbNewLine & Line3Text
'Fill the Textbox
TextboxName = "TextBox 1"
ActiveSheet.Shapes(TextboxName).DrawingObject.Text = TextboxText
End Sub
Po dodaniu kolumny indeksu potrzebne dane znajdą się w kolumnach 3, 4 i 5 tabeli, a funkcje vlookup przechwytują te wartości na podstawie indeksu wybranego w polu Combo.