Hohla:
Ya hice la corrección a la macro.
Adicionalmente te comento que el filtro "Documentos en Transito", puede sobreescribirse con los filtros de "En Tiempo" o "Vencido", te explico porqué.
Los documentos en tránsito corresponden a la clase = "YB" y Texto = ""
Ahora, si la clase es "YB" y demora "<=0", entonces si estaba "en tránsito" le va a poner "En tiempo"
Lo mismo, si la clase es "YB" y demora ">0", entonces si estaba en tránsito le va a poner "Vencido".
Ejemplo:
El documento de la fila 15 "7000732689", su Clase es "YB", en Texto tiene vacío y Demora es 4, este documento qué debe ser "en tránsito" o "vencido", ya que este documento cae en las 2 clasificaciones.
Sub principal()
'Por.DAM
Application.ScreenUpdating = False
On Error Resume Next
Set h1 = Sheets("SAP")
u = h1.Range("A" & Rows.Count).End(xlUp).Row
Label1 = "Agregando comentarios ..."
rep = 10
DoEvents
h1.AutoFilterMode = False
h1.Range("A1:L" & u).AutoFilter Field:=5, Criteria1:="1B"
h1.Range("K2:K" & u).SpecialCells(xlCellTypeVisible) = "Notas de Credito"
h1.AutoFilterMode = False
h1.Range("A1:L" & u).AutoFilter Field:=5, Criteria1:=Array("DA", "DT", "DZ"), Operator:=xlFilterValues
h1.Range("K2:K" & u).SpecialCells(xlCellTypeVisible) = "Saldo a Favor"
h1.AutoFilterMode = False
h1.Range("A1:L" & u).AutoFilter Field:=3, Criteria1:="="
h1.Range("A1:L" & u).AutoFilter Field:=5, Criteria1:="YB"
h1.Range("K2:K" & u).SpecialCells(xlCellTypeVisible) = "Documentos en Transito"
h1.AutoFilterMode = False
h1.Range("A1:L" & u).AutoFilter Field:=5, Criteria1:="YB"
h1.Range("A1:L" & u).AutoFilter Field:=10, Criteria1:="<=0", Operator:=xlAnd
h1.Range("K2:K" & u).SpecialCells(xlCellTypeVisible) = "En Tiempo"
h1.AutoFilterMode = False
h1.Range("A1:L" & u).AutoFilter Field:=5, Criteria1:=Array("YB", "YJ", "YS"), Operator:=xlFilterValues
h1.Range("A1:L" & u).AutoFilter Field:=10, Criteria1:=">0"
h1.Range("K2:K" & u).SpecialCells(xlCellTypeVisible) = "Vencido"
h1.AutoFilterMode = False
If h1.AutoFilterMode Then h1.AutoFilterMode = False
h1.Columns("F:F").NumberFormat = "###"
UpdateProgressBar rep
rep = rep + 10
Set h2 = Sheets("Cuentas_SAP")
Label1 = "Buscando nombres de clientes ..."
fin = h2.Range("A" & Rows.Count).End(xlUp).Row
con = 1
For i = 3 To fin
h1.AutoFilterMode = False
h1.Range("A1:L" & u).AutoFilter Field:=6, Criteria1:=h2.Cells(i, "A")
h1.Range("L2:L" & u).SpecialCells(xlCellTypeVisible) = h2.Cells(i, "B")
If (con * 100) / fin >= rep Then
UpdateProgressBar rep
rep = rep + 10
End If
con = con + 1
Next
If rep <= 100 Then
UpdateProgressBar rep
End If
If h1.AutoFilterMode Then h1.AutoFilterMode = False
Application.ScreenUpdating = True
Label1 = "Proceso Terminado."
End Sub
Saludos.Dante Amor
Recuerda valorar la respuesta.