Jump to content

agregar a una columna los datos de una segunda columna (agregar registros de una hoja a otra)


Recommended Posts

hola chicos!!!

a ver si alguien se ha topado con un problema similar y ha conseguido resolverlo....

resulta que tengo una relación de productos (hoja1: productos), cada producto pertenece a una categoría que no viene incluida en la relación original, así que tengo una segunda hoja con una relación entre productos y categorías (hoja2:producto/categoría), así que utilizo en la relación de productos la función "BUSCARV" para agregar la "categoría" desde la hoja2:producto/categoría.

hoja1!productos

COLUMNA A "categoría" COLUMNA B "producto"

1 =buscarv(B1,hoja2!A:B,2,falso)=01 taza

2 =buscarv(B2,hoja2!A:B,2,falso)=02 plato hondo

3 =buscarv(B3,hoja2!A:B,2,falso)=01 vaso

4 =buscarv(B4,hoja2!A:B,2,falso)=05 tenedor

5 =buscarv(B5,hoja2!A:B,2,falso)=05 cuchara

6 =buscarv(B6,hoja2!A:B,2,falso)=05 cuchillo

7 =buscarv(B7,hoja2!A:B,2,falso)=05 trinche

hoja2! producto/categoría

COLUMNA A "producto" COLUMNA B "categoría"

1 taza 01

2 vaso 01

3 copa 01

4 plato tendido 02

5 cuchillo 05

6 tenedor 05

7 cuchara 05

pero frecuentemente en mi relación de productos (hoja1:productos) hay nuevos que no están incluidos en hoja2:producto/categoría, así que necesito conseguir una función que "fusione" dos columnas de manera vertical "CONCATENAR" no me sirve porque cada producto debe estar en una celda diferente.

hoja2! producto/categoría

COLUMNA A "producto" COLUMNA B "categoría"

1 taza 01

2 vaso 01

3 copa 01

4 plato tendido 02

5 cuchillo 05

6 tenedor 05

7 cuchara 05

8 trinche esta información se agrega a mano

9 plato hondo esta información se agrega a mano

el chiste entonces, es que a la hoja 2 le agreguemos aquellos productos que no estaban y que aparecen en la hoja 1

digamos que a mano sería como copiar los datos de una columna y pegarlos en otra....

la parte complicada es que esta función debe incluirse en una macro, porque cada semana tengo una relación de productos (hoja1:productos) diferente, con alrededor de 5000 registros, así que la idea es sistematizarlo todo.

el número de registros también varía, y con cada trabajo semanal la lista de hoja2:producto/categoría irá aumentando, así que no es viable el copy/paste...

espero haber sido clara y que alguien me pueda ayudar...

la verdad no se utilizar VisualBasic, todo lo hago con funciones y macros...

GRACIAS!!

Link to comment
Share on other sites

Archived

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

  • 72 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      170
    • Comments
      89
    • Reviews
      26

  • Crear macros Excel

  • Posts

    • Buenas noches profesor Antoni y demás miembros del foro. Tanto con la solución suya como la del profesor HDD resuelvo el problema y está es una tercera variante que nunca viene mal, porque todo lo que se aprende no pesa ni estorba Gracias por el enlace, en cuanto tenga el chance lo reviso. Necesito una última petición a ustedes. He tratado de convertir los números en texto a números y no he podido lograrlo. Lo hice con la función Sustituir por si hubiera algunos espacios de más, con el Texto en columna, lo multiplique x 1, le sumé +0, lo trate con un ciclo For Each, creando una variable Celda de tipo Range y un condicional If/End if y nada. Por favor, si fuera tan amables de sugerirme algo que no haya probado. Agradecido como siempre y mis respetos a ustedes. Pino
    • Utilizando la función  WorksheetFunction.Clean se eliminan la mayoría de caracteres no imprimibles.   Eliminar caracteres no imprimibles
    • Buenas tardes reiteradas. Que bien que se sumó el profesor Antoni a la solución. Qué provilegio, JSD y Antoni, no podría estar en mejores manos. Gracias a ambos por su respuestas, pero tengo una duda más. En el caso de Antoni manifiesta que el caracter es el 001 del ASCII, pero pregunto, si fuera otro caracter este códiogo me serviría también o hay que modificarle algo? Mis respetos a todos los miembros del Foro y en especial a Antoni y JSD. Agradecido. Pino
    • Hola Antoni, te adelantaste, bueno dejo lo mismo de otra manera Sub EliminarCaracteres(): Application.ScreenUpdating = False Dim rango As Range Dim datos As Variant Dim i As Long, j As Long With Hoja2 '>>>>> pon la hoja donde quieras trabajar Set rango = .Range("A4:M" & .Cells(.Rows.Count, "A").End(xlUp).Row) datos = rango.Value For i = 1 To UBound(datos, 1) For j = 1 To UBound(datos, 2) datos(i, j) = Application.WorksheetFunction.Clean _ (datos(i, j)) Next j Next i rango.Value = datos End With End Sub  
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy