Acho que isso deve funcionar, pelo menos no Excel 2011.
No código abaixo, "ComboResult" é a saída da sua caixa de combinação (o "link da célula"). Ele deve ser inserido como uma referência de célula entre aspas duplas, ou seja, "C7".
Da mesma forma, "LookupTable" é o intervalo de células na tabela da planta, por exemplo, "A1: E50". Novamente, aspas duplas. Eu estou supondo que sua tabela de pesquisa está na Planilha2. Você pode usar uma planilha nomeada usando Planilhas ("nome da planilha"). Range ().
Como a caixa de combinação gera um número (a posição da escolha do usuário na lista), sua tabela de pesquisa deve ter uma coluna de índice como a primeira coluna. Será apenas 1,2,3 etc. até o número de plantas na lista.
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
Depois de adicionar a coluna de índice, os dados que você deseja estarão nas colunas 3,4 e 5 da tabela, e as funções vlookup irão pegar esses valores, com base no índice escolhido na caixa de combinação.