Pasar dato sabsolutos de listbox a textbox
Amigos tengo un problema con un código que tengo para que al seleccionar elementos de un texbox estos se depositen automáticamente en en textbox cada uno me problema es el siguiente
El código al principio si funciona bien cuando selecciono el primer registro pero si luego quiero cambiar a otro en el mismo listbox no me aparece el valor absoluto de lo que seleccione
por ejemplo si selecciono el numero 164 la primera vez me lo pone en el textbox tal cal esta pero si después selecciono el 165 solo me duvelve al textbox el 1 si lo selecciono de nuevo me devuelve el 6 y si lo vuelvo a hacer me devuelve el 5 que puedo hacer para que solo me devuelva el valor absoluto que sea completamente igual al del textbox
Este es mi código:
Private Sub ListBox1_Click()
Set b = Sheets("vales")
uf = b.Range("A" & Rows.Count).End(xlUp).Row
uc = b.Cells(1, Columns.Count).End(xlToLeft).Address
wc = Mid(uc, InStr(uc, "$") + 1, InStr(2, uc, "$") - 2)
With Me.ListBox1
.ColumnCount = 3
.ColumnWidths = "175 pt;30 pt;30 PT"
.RowSource = "vales!A2:" & wc & uf
End With
fila = ListBox1.ListIndex + 2
With Hoja1.Range(ListBox1.RowSource)
TextBox1.Text = .Offset(ListBox1.ListIndex, 4).Resize(1, 1).Value
TextBox2.Text = .Offset(ListBox1.ListIndex, 5).Resize(1, 1).Value
TextBox3.Text = .Offset(ListBox1.ListIndex, 6).Resize(1, 1).Value
TextBox5.Text = .Offset(ListBox1.ListIndex, 0).Resize(1, 1).Value
End With
¿Qué es lo que me esta fallando?