Buenos días, deseo un macro que autor rellene hasta 4 celdas en una columna a partir de la primera.

Trabajo en una empresa donde se emite vales de descuento para la compra de artículos,estos vales tienen datos como "NRO VALE", "NRO DNI", "NOMBRE" y "CÓDIGO DE SEGURIDAD" estos vales llegan a mi persona para ser verificados,y utilizo la función "buscarv", para completar datos en las celdas adyacentes en la columna a partir del código de vale (8 dígitos) , la pregunta: es posible una macro, que cuando se digíte el NRO DE VALE, se autor rellenen las celdas siguientes en la columna "NRO DNI", "NOMBRE", "CÓDIGO DE SEGURIDAD", a partir de otro libro u hoja.

Me serviría mucho para otras actividades.

Gracias.

1 Respuesta

Respuesta
1

Si se podría, si se busca en otra hoja, tendrías que decirme el nombre de la hoja y las columnas en donde están los datos.

Si se busca en otro libro, igual cómo se llama el libro, la hoja y las columnas en donde están los datos.

También me tienes que decir en la hoja donde capturas el "NRO VALE", en qué columnas van los datos

Saludos. DAM

Hola DAM, gracias por responder mi pregunta y te indico las aclaraciones:

El nombre del libro es: IMPRESIÓN DE VALES 8, el nombre de la hoja: IMPRESIÓN DE VALES 8.

Y las columnas van asi:

NRO DE VALE DNI CÓDIGO DE VALE

67874568 4344567 TLC-08-2013-12345-G

Ahora la hoja donde capturo el vale seria asi:

NRO DE VALE DNI CÓDIGO DE VALE
67874568 4344567 TLC-08-2013-12345-G

Me serviría mucho que al dijitar el Nro de vale, se autocomple, para verificar la autenticidad inmediatamente, y ahorrar mucho tiempo dejando de utilizar la rutina "Buscav".

Gracias

Sigue las Instrucciones para poner la macro en worksheet
1. Abre tu hoja 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 donde capturas el Vale)
4. Del lado derecho copia la macro

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.DAM
If Not Intersect(Target, Range("A:A")) Is Nothing Then
    For Each d In Target
        With Workbooks("IMPRESIÓN DE VALES 8").Sheets("IMPRESIÓN DE VALES 8")
            Set b = .Range("A:A").Find(d.Value)
            If Not b Is Nothing Then
                Cells(d.Row, "B") = .Cells(b.Row, "B")
                Cells(d.Row, "C") = .Cells(b.Row, "C")
            Else
                MsgBox "No existe el Vale: " & d.Value, vbCritical, "VALES"
                d.Select
            End If
        End With
    Next
End If
End Sub

La columna donde está el vale es la columna "A" y los datos en la B y la C, si es así, escribe un vale en la columna A y en automático te pone los datos y si no te envía un mensaje.

El libro IMPRESIÓN DE VALES 8, deberá estar abierto

Saludos. DAM
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas