Я думаю, що це має спрацювати, принаймні, це робиться в Excel 2011.
У наведеному нижче коді "ComboResult" - це вихід вашого поля Combo ("посилання на комірки"). Його потрібно вводити як посилання на клітинку у подвійних лапках, тобто "C7".
Аналогічно "LookupTable" - це діапазон комірок у вашій рослинній таблиці, тобто "A1: E50". Знову подвійні цитати. Я припускаю, що ваша таблиця пошуку знаходиться на Sheet2. Ви можете використовувати названий аркуш, використовуючи таблиці ("назва аркуша"). Діапазон ().
Оскільки у вікні Combo виводиться число (позиція вибору користувача у списку), ваша таблиця пошуку повинна містити стовпчик індексу як перший стовпець. Це буде лише 1,2,3 і т.д. до кількості рослин у списку.
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
Після додавання стовпця індексу потрібні дані будуть знаходитись у стовпцях 3,4 та 5 таблиці, а функції vlookup захоплюють ці значення на основі індексу, обраного у полі Combo.