Jump to content

Archived

This topic is now archived and is closed to further replies.

lphant

Buscar y rellenar datos

Recommended Posts

Buenas tardes chic@s;

Quien me puede ayudar a intentar hacer lo siguiente:

En un libro Excel tengo 2 hojas, una se llama “seguimiento” y la otra se llama “datos”.

Lo que necesito es que la hoja “seguimiento” se actualice con los datos de la hoja “datos”.

Los datos comunes entre las hojas serias:

En la hoja “seguimiento” la fila 2 y en la hoja “datos”  serian la columna A.

Gracias J

Libro1.xls

Share this post


Link to post
Share on other sites

Hola Iphant, gusto en conocerte. Pues básicamente desear copiar datos de una columna de la hoja "datos" a una fila de la hoja "seguimiento". Básicamente el código VBA para hacer esto sería:

    If S1.[A2] = "" Then
        N = 0
        Exit Sub        '<-- si N = 0, no hay datos que transferir
    Else
        N = IIf(S1.[A2] <> "", S1.[A2].End(xlDown).Row - 1, 1)
    End If
	   'copiamos los datos
    For i = 1 To N
        S2.Cells(2, i + 1) = S1.Cells(i + 1, 1)
    Next
	

Iphant_Libro1.xls

Share this post


Link to post
Share on other sites
En ‎23‎/‎02‎/‎2017 at 1:42 , YoelMonsalve dijo:

Hola Iphant, gusto en conocerte. Pues básicamente desear copiar datos de una columna de la hoja "datos" a una fila de la hoja "seguimiento". Básicamente el código VBA para hacer esto sería:

 


    If S1.[A2] = "" Then
        N = 0
        Exit Sub        '<-- si N = 0, no hay datos que transferir
    Else
        N = IIf(S1.[A2] <> "", S1.[A2].End(xlDown).Row - 1, 1)
    End If
	   'copiamos los datos
    For i = 1 To N
        S2.Cells(2, i + 1) = S1.Cells(i + 1, 1)
    Next
	

 

Iphant_Libro1.xls

Buenas YoelMonsalve;

Estoy probando el excel que me pasastes pero algo me falta, no se copian los datos.

Me podrias echar una mano??.

Gracias.

Un saludo,

Share this post


Link to post
Share on other sites

Iphant, los datos deberían actualizarse automáticamente, al modificar cualquier valor en la columna A de la hoja Datos.

Pero requieres "Habilitar las macros" en Excel, para que pueda funcionar. Habilitaste las macros?

Share this post


Link to post
Share on other sites
Hace 14 horas, YoelMonsalve dijo:

Iphant, los datos deberían actualizarse automáticamente, al modificar cualquier valor en la columna A de la hoja Datos.

Pero requieres "Habilitar las macros" en Excel, para que pueda funcionar. Habilitaste las macros?

Buenas, no se me actualiza.

no se que hago mal.

tengo habilitadas las macros y modifico los datos de la columna A.

gracias.

Share this post


Link to post
Share on other sites
Hace 8 minutos , lphant dijo:

Buenas, no se me actualiza.

no se que hago mal.

tengo habilitadas las macros y modifico los datos de la columna A.

gracias.

no me habia dado cuenta de que el nombre de la hoja esta en minuscula en vez de mayuscula.

ahora si actualiza la fila 2 pero los demas datos de la hoja de seguimiento no.

gracias.

Share this post


Link to post
Share on other sites

Disculpa, pensé que te referías sólo a la columna en amarillo. Revisa ahora, con las modificaciones menores realizadas debería funcionar como querías.

Por cierto, desde la hoja Datos sólo transfiere valores ubicados en las columnas A hasta E, pero no fuera de ese rango. No se si querías ampliar el rango o está bien así. Saludos.

 

Iphant_Libro1.xls

Share this post


Link to post
Share on other sites

Hola

 

Perdon por no aportar cuando lo prometí.

Le dejo mi aporte, si este es el que buscas. :

Dim I As Integer
Dim J As Integer
Dim Lin As Integer


Lin = 2

    Do While Hoja2.Cells(Lin, 1) <> ""


        For I = 1 To 4
        
            For J = 1 To 6
            
            
                    If Hoja2.Cells(Lin, 1) = Hoja1.Cells(2, 1 + J) Then
            
                       Hoja1.Cells(2 + I, 1 + J) = Hoja2.Cells(1 + J, 1 + I)
                        
                    End If
            
            Next J
            
        
        
        Next I
        
    Lin = Lin + 1
    Loop

Saludos.

Share this post


Link to post
Share on other sites

Buenos días a tod@s;

He estado probando lo que me habéis pasado y funciona pero no hace lo que yo quería.

Puede que no me explicara bien.

Lo que necesitaba era como un buscarv, es decir, que el dato de la fila 2 de la hoja” Seguimiento” se buscara en la columna A de la hoja “Datos” y se pusiera en la fila/columna correspondientes dependiendo si es ciudad, color, etc…los datos correspondientes.

Gracias a tod@s.

Un saludo,

Share this post


Link to post
Share on other sites

Hola @lphant

Hace 3 horas, lphant dijo:

era como un buscarv,

Fijate si mi nueva propuesta es lo que deseas.

=INDICE(Datos!$A$1:$E$7,COINCIDIR(B$4,Datos!$A$1:$A$7,0),COINCIDIR($A5,Datos!$A$1:$Z$1,0))

Por favor, en la próxima consulta recuerda que si deseas la solución con fórmulas debes ingresar la misma en el foro de Excel General => LINK .

Que tengas una buena jornada!

ae20170227Libro1.xls

Share this post


Link to post
Share on other sites
Hace 2 horas, tierra_pampa dijo:

Hola @lphant

Fijate si mi nueva propuesta es lo que deseas.


=INDICE(Datos!$A$1:$E$7,COINCIDIR(B$4,Datos!$A$1:$A$7,0),COINCIDIR($A5,Datos!$A$1:$Z$1,0))

Por favor, en la próxima consulta recuerda que si deseas la solución con fórmulas debes ingresar la misma en el foro de Excel General => LINK .

Que tengas una buena jornada!

ae20170227Libro1.xls

buenas tardes;

Lo de buscarv era para explicar el funcionamiento que queria pero lo que necesito es con macro sin formulas.

Gracias por el aporte.

Un saludo,

Share this post


Link to post
Share on other sites

Ok, entonces la idea es consultar en la hoja Datos, por el código en la fila de amarillo de la hoja Seguimiento, y si encuentra coincidencia, rellenar los campos correspondientes en Datos.

En ese caso ya no necesitamos la macro CopiarDatos() del Módulo 1 (aunque la conservé en el libro por si acaso), todo se puede programar en el evento Worksheet_Change() de Seguimiento.

Ahora edita los campos en la fila amarilla de Seguimiento, y se actualizará la columna. Adicionalmente le puse que si borras el código, se borre el resto de la columna (aunque no se si querías esto).

Iphant_Libro1.xls

Share this post


Link to post
Share on other sites
Hace 16 horas, YoelMonsalve dijo:

Ok, entonces la idea es consultar en la hoja Datos, por el código en la fila de amarillo de la hoja Seguimiento, y si encuentra coincidencia, rellenar los campos correspondientes en Datos.

En ese caso ya no necesitamos la macro CopiarDatos() del Módulo 1 (aunque la conservé en el libro por si acaso), todo se puede programar en el evento Worksheet_Change() de Seguimiento.

Ahora edita los campos en la fila amarilla de Seguimiento, y se actualizará la columna. Adicionalmente le puse que si borras el código, se borre el resto de la columna (aunque no se si querías esto).

Iphant_Libro1.xls

funciona de lujo.

muchinas gracias :)

Un saludo,

Share this post


Link to post
Share on other sites

Gracias a ti, y siempre a la orden. Mira también el código VBA, está bien ordenado y debidamente comentariado, para que si algún día prentendes estudiarlo puedas hacerlo, y aquí estaremos por cualquier duda.

Saludos.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy