Valor automático en celdas según variable

Tengo una tabla de excel con doce filas correspondiente a los meses del año.

Necesito que depende la fecha actual me coloque cuando el pago es trimestral, el importe en los meses correspondientes. Por ejemplo, ahora mes de diciembre que lo pusiera en Diciembre, marzo, junio y septiembre.

1 respuesta

Respuesta
1

Puedes explicar con ejemplos, cómo tienes tu hoja y qué es lo que necesitas que sea en automático.

Hola:

estaba  intentando  subirte  una   foto  o  un  libro  excel  con  el ejemplo pero no me deja.  Sería  algo  así:

FECHA:   AHORA()

FORMA DE  PAGO:    DESPLEGABLE  CON  anual, semestral, trimestral, mensual

IMPORTE:      1254 €

Luego  una  tabla  con  12  líneas:  Enero, Febrero, .......... Diciembre  y  columnas  las que  sean

La  idea  es que   si la forma de  pago es  Trimestral y  estamos en  diciembre  me  coloque  1/4 del importe  total en  diciembre  y   lo  mismo en Marzo, Junio, Septiembre.  Si  la  fecha  es  Enero  que  lo  coloque  en  Enero, Abril, Julio, Octubre,....  etc..

Saludos,

Pues más o menos entendí. Mejor envíame tu archivo y me pones varios ejemplos con colores de lo que necesitas.

ya te lo he enviado

Esta es la macro para calcular los pagos y los meses

Sub CalcularPagos()
'Por.Dante Amor
    Application.ScreenUpdating = False
    [B13:k24].ClearContents
    For j = 2 To 11
        Select Case UCase(Cells(3, j))
            Case "MENSUAL":    n = 12: s = 1
            Case "TRIMESTRAL": n = 4: s = 3
            Case "SEMESTRAL":  n = 2: s = 6
            Case "ANUAL":      n = 1: s = 12
            Case Else: Exit For
        End Select
        m = Month(Cells(2, j))
        ini = m + 12
        pago = Cells(4, j) / n
        For i = 1 To n
            Cells(ini, j) = pago
            ini = ini + s
            If ini > 24 Then
                ini = 12 + s
            End If
        Next
    Next
    MsgBox "Pagos calculados"
End Sub

Recuerda valorar la respuesta

Perfecto Dante,  vamos  avanzando!!!!  la   macro  funciona  perfecto,  hace  los  cálculos y  lo  coloca en el mes correspondiente.

Ahora  falta  perfilarlo  para lo que  necesito:  Necesito que lo realice  de  forma automática  y  no es  necesario que me salga el mensaje de "pagos  calculados"

Con lo que me has pasado,  cada vez que yo modifico   la casilla de  importe,  forma de pago  o  fecha  tengo que  ejecutar el macro de forma manual  y  darle a  aceptar en el mensaje de  "pagos calculados".  Lo que necesito es que  cuando modifique algo lo haga de forma automática.

Muchas gracias.

Pon la siguiente macro en los eventos de tu hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
        If Not Intersect(Target, Rows("2:4")) Is Nothing Then
        Application.ScreenUpdating = False
        If Target.Count = 1 Then
            [B13:k24].ClearContents
            For j = 2 To 11
                Select Case UCase(Cells(3, j))
                    Case "MENSUAL":    n = 12: s = 1
                    Case "TRIMESTRAL": n = 4: s = 3
                    Case "SEMESTRAL":  n = 2: s = 6
                    Case "ANUAL":      n = 1: s = 12
                    Case Else: Exit For
                End Select
                m = Month(Cells(2, j))
                ini = m + 12
                pago = Cells(4, j) / n
                For i = 1 To n
                    Cells(ini, j) = pago
                    ini = ini + s
                    If ini > 24 Then
                        ini = 12 + s
                    End If
                Next
            Next
        End If
    End If
End Sub

Recibe un cordial saludo y felices fiestas! Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas