Ok, entonces como tienes 400 pestañas en tu archivo te mando mi solución para que la macro haga el trabajo por ti. Estas son las instrucciones: (4 pasos)
1-El archivo se tiene que componer de SOLO las pestañas de los clientes, no tiene que haber otra de distinta naturaleza.
2-Con tu archivo abierto, pulsa ALT F11 y se abrirá el módulo de programador, ahora pulsa en el menú superior en INSERTAR----MODULO. Con esto habrás insertado un módulo y tendrás la parte derecha de la pantalla blanca con el cursor parpadeando. Es allí donde tienes que pegar la siguiente macro:
Sub ejemplo()
Sheets.Add before:=ActiveWorkbook.Sheets(1)
ActiveSheet.Name = "todos"
Range("a1").Value = "NOMBRE"
Range("b1").Value = "TELEFONO"
Range("C1").Value = "FECHA"
Range("D1").Value = "DESCRIPCION"
Range("E1").Value = "DEBE"
Range("F1").Value = "ENTREGA"
Range("G1").Value = "RESTO"
Range("a1:g1").Select
With Selection
.Font.Bold = True
.Interior.ColorIndex = 6
End With
For Each hoja In ActiveWorkbook.Sheets
If hoja.Name <> "todos" Then
hoja.Select
Range("a4:e" & Range("a65000").End(xlUp).Row).Copy
Sheets("todos").Select
Range("c65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Range("b65000").End(xlUp).Offset(1, 0).Select
Do While ActiveCell.Offset(0, 1).Value <> ""
ActiveCell.Value = hoja.Range("b2").Value
ActiveCell.Offset(0, -1).Value = hoja.Range("b1").Value
ActiveCell.Offset(1, 0).Select
Loop
End If
Next
Sheets("todos").Select
ActiveSheet.Columns("a:g").EntireColumn.AutoFit
Application.DisplayAlerts = False
For x = 2 To Sheets.Count
Sheets(2).Delete
Next
MsgBox "proceso terminado, todos los clientes están aglutinados en la hoja ""todos"""
Application.DisplayAlerts = True
End Sub
3- Después de tener copiada la macro, tienes que volver a excel normal y pulsar ALT F8 Se abrirá un ventana mostrando las macros que tienes y verás una llamada EJEMPLO, selecciónala y pulsa Ejecutar. Trabajo concluido
4-Lo siguiente es hacer la tabla dinámica como te mostré en el vídeo.
No olvides finalizar la consulta