Extraer datos y concatenarlos

El problema que tengo es el siguiente tengo una hoja llamada reporte, esta me genera el reporte según el parámetro de fecha que yo le coloque; por ejemplo ( desde 10/12/2008 hasta 10/1272010). En la columna me coloca el código del producto y en la columnaJ me coloca el Serial "desde" y en la columnaK el serial "Hasta" Ejemplo
A                    b        c       d     e       f       g       h      i             j                   k   
Cod-producto                                                                      desde            hasta
Pues-001 1234 1270
Pues-002 3456 3500
Pues-001 1271 1500
Pues-003 1432 1700
Pues-002 3501 3600
Pues-001 1501 1800
Pues-003 1701 1900
Pues-001 1801 2000
Lo que quiero saber es como hacer una macro que recorra toda la hoja reporte, es decir todas sus filas y columnas hasta donde halla datos y me extraiga el primer serial "desde" del producto Pues-001 y el ultimo serial "hasta" del mismo producto según el parámetro de fecha seleccionada y me lo coloque en la columaL de la misma hoja el resultado, igualmente con los demás productos, pero que me coloque el pues-002 en la columnaM y el pues-003 en la ColumnaN
esto debiera quedar así:
       L M N
   Ps-001                               Ps-002                          Ps-003
1234-2000 3456-3600 1432-1900
Espero su ayuda he probado de varias formas pero no lo he logrado y necesito la ayuda de un experto.

1 Respuesta

Respuesta
Lop puedes hacer de 2 formas
1 es con una simple formula en la casilla que quieres tener el dato, ejm M1=a1&b2&... los datos que requieras, si requieres insertar un separador seria asi M1=a1&"/"&b2&...
2 La segunda seria con una rutina.
Suponiendo que la fecha esta en la columna "B"
sub concatena_porfecha()
dim f,c as long ' f variable para recorrer las filas, c las columnas
fin=inputbox("Ingrese la fecha de inicio dd/mm/yyyy")
ffin=inputbox("Ingrese la fecha de inicio dd/mm/yyyy")
do while cells(f,1).value <>""
if cells(f,2).value>=fin and cells(f,2).value<=ffin then
cells(f,11).value=cells(f,1).value & cells(f,2).value ' aqui definirias donde y que datos concatenar para el caso del ejemplo lo haria en la columna k
end if
puede que te presente dificultades con el formato de las variables me cuentas
f=f+1
loop
end sub
pruebalo y me cuentas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas