2012-12-14 2 views
1

J'ai une feuille de calcul Excel avec 2 colonnes. Une colonne est un nom d'organisation. La colonne suivante indique combien cette organisation facture par heure. J'utilise un userform et j'ai une listbox et un label. La zone de liste affiche toutes les valeurs dans la colonne 1.Mettre à jour la légende des étiquettes avec la colonne suivante correspondante de la liste déroulante

Private Sub UserForm_Initialize() 
Dim lbtarget As MSForms.ListBox 
Dim rngSource As Range 

'Set reference to the range of data to be filled 
Set rngSource = Worksheets("Sheet1").Range("A2:A125") 

'Fill the listbox 
Set lbtarget = Me.ListBox1 
With lbtarget 
    'Determine number of columns 
    .ColumnCount = 1 
    'Set column widths 
    .ColumnWidths = "100" 
    'Insert the range of data supplied 
    .List = rngSource.Cells.Value 
End With 

End Sub 

Je veux l'étiquette pour correspondre à l'élément sélectionné dans la liste. Par exemple, si je sélectionne Asset Management (Cellule A2), je veux que l'étiquette affiche la même ligne mais la colonne suivante, $ 47.00 (Cell B2). Toute aide est la bienvenue. Bon week-end!

+2

Cela ressemble à VBA, pas vb.net. Si c'est le cas s'il vous plaît retag – Steve

Répondre

1

Utilisez l'index de listboxes pour répondre à la 2ème colonne de votre gamme, à savoir

Private Sub ListBox1_Click() 
Dim Idx As Long 

    Idx = ListBox1.ListIndex + 1 
    Label1.Caption = Worksheets("Sheet1").Range("A2:A18").Cells(Idx, 2) 
End Sub 
Questions connexes