La pestaña ALCANCES ya que yo quiero que me traiga unos datos específicos, solo con digitar el número de ficha

El sgte paso es el más importante, es la pestaña ALCANCES ya que yo quiero que me traiga unos datos específicos, solo con digitar el número de ficha. La extensión hacia abajo quiero que sea infinito porque a veces hay más de 10.000 celdas. Por ejemplo:

Yo quiero que al digitar la ficha que en este caso es la SP, me traiga los demás datos como el ejemplo.

Las columnas en rosado las lleno yo de manera manual, las demás quiero que me las traiga de la base de datos que pegue en el orden que tengo la base de datos (Imagen).

La columna regional es un buscar v que se puede incluir dentro de la macro. Es un buscar sencillo de una tabla que voy a pegar en la columna P Y Q asi:

Oficina regional

1 MDLLIN

300 CALI

500 BQUILLA

La base de datos obviamente va a ser más larga sino que este es un ejemplo, lo que hace el buscar es buscar la oficina y trae la regional.

1 respuesta

Respuesta
1

H o l a:

La siguiente macro va en los eventos de tu hoja alcances:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    Set h1 = Sheets("BASE DE DATOS")                'Hoja de datos
    Set h2 = Sheets("ALCANCES")                     'Hoja de Alcances
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Columns("A")) Is Nothing Then
        Set b = h1.Columns("D").Find(Target, lookat:=xlWhole)
        If Not b Is Nothing Then
            H2. Cells(Target.Row, "B") = h1. Cells(b.Row, "E")
            H2. Cells(Target.Row, "C") = h1. Cells(b.Row, "H")
            H2. Cells(Target.Row, "E") = h1. Cells(b.Row, "I")
            H2. Cells(Target.Row, "F") = h1. Cells(b.Row, "J")
            H2. Cells(Target.Row, "G") = h1. Cells(b.Row, "K")
            H2. Cells(Target.Row, "H") = h1. Cells(b.Row, "M")
            'busca la oficina
            Set b = h2.Columns("P").Find(h1.Cells(b.Row, "H"), lookat:=xlWhole)
            If Not b Is Nothing Then
                h2.Cells(Target.Row, "D") = h2.Cells(b.Row, "Q")
            End If
        End If
    End If
End Sub

S a l u d o s . D a n t e   A m o r.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas