¿Cómo puedo hacer para bajar los datos de otras celdas, si llene una celda lateral?

T

No me explique bien en mi pregunta. Tengo el siguiente cuadro: En la parte de "clave" tengo una lista desplegable, en "Descripción" ocupe un "BuscarV", EN "Inicio" lo alinie con la fecha del día que se encuentra arriba de la tabla con "=b3" y automáticamente se pone en ese cuadro, en "Termina" Ocupe un calendario emergente. Todas las celdas de clave y descripción tienen su formula correspondiente. Cuando lleno la primera fila no hay problema. Lo que busco es que al llenar(clave y descripción) de la segunda linea, automáticamente se baje las mismas fechas que seleccione en "inicia y termina "

Para la celda inicia también podría ocupar un calendario emergente. ** 

1 respuesta

Respuesta
1

Prueba con la siguiente macro

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Columns("B")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Target.Row > 5 Then
            If IsDate(Cells(Target.Row - 1, Target.Column + 2)) Then
                Cells(Target.Row, Target.Column + 2) = Cells(Target.Row - 1, Target.Column + 2)
                Cells(Target.Row, Target.Column + 3) = Cells(Target.Row - 1, Target.Column + 3)
            End If
        End If
    End If
End Sub

Cambia en la macro "B" por la letra de la columna en donde capturas la clave.

Cambia en la macro el número 5, por el número de fila a partir de la cual quieres que se ponga en automático las fechas de inicia y termina.


Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Hola Dante. :)

Disculpe me marca un error de compilación :

Se ha detectado un nombre ambiguo:

Worksheet_SelectionChange

No sé si es porque arriba tengo el código para el calendario emergente.

Muchas gracias por asesorar me 

Me marca el error, sin importar en que celda me posicione* 

Ya lo volví a escribir y me equivoque al escribir algo, pero ahora no hace nada , no me marca error ni nada :O 

Lo que sucede es que las primeras fechas las debes poner tú, si las fechas en automático empiezan en la fila 5, entonces en la fila 4, tú debes poner 2 fechas

Si tienes problemas envíame tu archivo para adaptar la macro

Buenas Tardes Dante :

Le he mandado el correo, le agradezco mucho la ayuda

Felices Fiestas :D

Así quedarían tus macros en la hoja

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("H30")) Is Nothing Then
        UserForm1.Show
    End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Columns("E")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Target.Row > 30 Then
            If IsDate(Cells(Target.Row - 1, Target.Column + 2)) Then
                Cells(Target.Row, Target.Column + 2) = Cells(Target.Row - 1, Target.Column + 2)
                Cells(Target.Row, Target.Column + 3) = Cells(Target.Row - 1, Target.Column + 3)
            End If
        End If
    End If
End Sub

Muchas Gracias Dante :)

Ten unas Felices Fiestas y Prospero Año Nuevo 

Al final de mi respuesta dice: “Es una buena respuesta” y puedes seleccionar una de 3 opciones:

  • Excelente
  • Si
  • No

Si aún tienes dudas o la respuesta no está completa, avísame para actualizar lo que sea necesario.

Ahh ok ya vi,no sabía, me limite a poner "si"

pero ya esta :) Muchas gracias. 

Gracias a ti, saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas