Te había solicitado dejes también una imagen de los encabezados de hoja Transacciones.
Bien, así es como parece que están ubicados los conceptos. Cualquier diferencia con tu modelo ajusta las líneas donde dice REVISAR.
La macro al clic en la primer lista quedaría así:
Private Sub ListBox1_Click()
'x Elsamatilde
'se controla si hay algún valor seleccionado en Listbox1
If ListBox1.ListIndex < 1 Then Exit Sub ' REVISAR *
'el item de la 1er col será el nro de cuenta a tomar para el filtrado
dato = ListBox1.List(ListBox1.ListIndex, 0)
'se controla si la hoja de transacciones tiene filtros aplicados, sino se coloca
Set hot = Sheets("Transacciones Captaciones")
If hot.AutoFilterMode = False Then
hot.Range("A1:D1").AutoFilter 'REVISAR COL FINAL
Else
If hot.FilterMode = True Then hot.ShowAllData
End If
'se filtra la hoja x dato seleccionado ... REVISAR col final
hot.Range("$A$1:$D$" & hot.Range("A" & Rows.Count).End(xlUp).Row).AutoFilter Field:=1, Criteria1:=dato
'se controla si hay transacciones filtradas para esa cuenta
finx = hot.Range("A" & Rows.Count).End(xlUp).Row
'se asume titulo en fila 1 y datos a partir de fila 2 ....REVISAR
If finx = 1 Then
MsgBox "NO hay transacciones para esta cuenta.", , "Atención"
Exit Sub
End If
ListBox2.Clear
'REVISAR ubicación de títulos y col en hoja Transacciones
ListBox2.AddItem "FECHA"
ListBox2.List(ListBox2.ListCount - 1, 1) = "TRANSACCION"
ListBox2.List(ListBox2.ListCount - 1, 2) = "NOMBRE"
ListBox2.List(ListBox2.ListCount - 1, 3) = "TIPO"
'se recorre el rango filtrado
For Each ct In hot.Range("A2:A" & finx).SpecialCells(xlCellTypeVisible)
ListBox2.AddItem hot.Range("C" & ct.Row)
ListBox2.List(ListBox2.ListCount - 1, 1) = hot.Range("B" & ct.Row)
ListBox2.List(ListBox2.ListCount - 1, 3) = hot.Range("A" & ct.Row)
Next ct
End Sub
'* Si el listbox1 no tiene título se compara < 0
Sdos y no olvides valorar la respuesta (opciones Excelente o buena)
Elsa
PD) Tenés otra consulta aún pendiente que ya te respondí oportunamente.