Corrección macro para que los datos queden en una sola fila

Necesito que esta macro me copie los datos en una sola fila.

Sub Copiar_imss_isr()

col_importe_exento = "X" 'columna de deducciones detalle importe exento
col_impuesto = "W" 'columna de deducciones detalle concepto
col_imss = "V" 'columna de deducciones detalle importe grabado
col_isr = "Y" 'columna de retención de isr
col_iva = "Z" 'columna de retención de iva
col_importe_imss = "AA"
Set h = Sheets("FORMATO NOMINA") 'nombre de la hoja donde tienes los datos
'
For i = 2 To h.Range(col_impuesto & Rows.Count).End(xlUp).Row
Select Case h.Cells(i, col_impuesto)
Case "ISR": h.Cells(i, col_isr) = h.Cells(i, col_imss)
Case "Crédito Infonavit": h.Cells(i, col_iva) = h.Cells(i, col_importe_exento)
Case "IMSS": h.Cells(i, col_importe_imss) = h.Cells(i, col_imss)
End Select
Next
End Sub

Lo que necesito es que el ISR y el Crédito infonavit queden en la misma fila que IMSS.

1 respuesta

Respuesta
1

Prueba esto:

Sub Copiar_imss_isr()
col_importe_exento = "X" 'columna de deducciones detalle importe exento
col_impuesto = "W" 'columna de deducciones detalle concepto
col_imss = "V" 'columna de deducciones detalle importe grabado
col_isr = "Y" 'columna de retención de isr
col_iva = "Z" 'columna de retención de iva
col_importe_imss = "AA"
Set h = Sheets("FORMATO NOMINA") 'nombre de la hoja donde tienes los datos
'
For i = 2 To h.Range(col_impuesto & Rows.Count).End(xlUp).Row
Select Case h.Cells(i, col_impuesto)
Case "ISR": h.Cells(i-1, col_isr) = h.Cells(i, col_imss)
Case "Crédito Infonavit": h.Cells(i-1, col_iva) = h.Cells(i, col_importe_exento)
Case "IMSS": h.Cells(i, col_importe_imss) = h.Cells(i, col_imss)
End Select
Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas