Insertar fila con base a los días y Salario

Tengo una macro la cual inserta filas de de acuerdo a las fechas registradas y en cada fila le va asignando sus días con base a las fechas, ahora necesito una orientación para que con base a los días que genera por cada fila me calcule el IBC o Salario con base a los días.

Sin ejecutar resalto las columna donde requiero que realice la operación

Cuando se ejecuta: Resultado.

Que necesito que desde la columna O a la R (O:R) realice una operación de acuerdo a los días para hallar su salario o IBC.

La operación es la siguiente dividir el IBC Dividido por 30 y multiplicarlo por los días. Operación primera fila1 tiene 29 días seria 1.400.000 / 30 * 29 = 1.353.333, fila2 tiene 1 día 1.400.000 / 30 * 1 = 46.667. Claramente se puede evidenciar que si se suma los dos valores que hay en cada linea o fila llego al IBC o salario original que es $ 1.400.000.

Gráficamente;

Por ultimo que no se si hay posibilidad hay que este resultado se pueda aproximar el peso mas cercano:

ejemplo el primero el resultado fue 1353333,333 decimales y le aplico =+REDONDEAR.MAS(B9;0) y queda en 1.353.334 .

Respuesta
1

Tomo tu consulta. Te devolveré el libro con las fórmulas en el código que ya desarrollamos.

Entre estas 2 instrucciones debes agregar lo que colocaré a continuación:

Next y

           'agregar nuevas instrucciones

'pasa al próximo registro

    Next y
    'resultados en col N:R, hasta cubrir todas las filas insertadas
    For i = 0 To cant
        impor1 = Range("N" & x + i).Value
        impor2 = Round((Range("N" & x + i).Value / 30) * Range("J" & x + i), 0)
        Range("N" & x + i & ":R" & x + i) = impor2
        'repite la búsqueda para el resto de las insertadas
    Next i
'pasa al próximo registro

Tu hoja tiene todos los campos en formato texto. Así quedaron también los resultados. Comentame si deben pasarse al formato moneda o números.

Como verás, no utilicé REDONDEAR.MAS porque de eso modo el salario termina en 1400001, lo que es incorrecto. Sí lo redondeo a 0, por lo que solo se incrementa en casos >= 0,5

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas