Macro para traer datos desde un CVS a un libro Excel

26/08/2008 - 21:56 por colmenaf | Informe spam
Hola a todos.

Tengo un libro donde tomo los pedidos de la empresa y tengo un
archivo .CSV que tiene la información que debo registrar en el libro
de pedidos.

Al abrir el CSV se abre otro libro de manera organizada (cada campo en
su columna), la columna C tiene el código del producto y la columna G
tiene las unidades del producto.

El libro de hoja de pedido tiene un comentario en cada celda que
contiene el código del producto.

La idea es la siguiente: Si el código del producto del archivo CSV
coincide con el comentario de la celda del libro de hoja de pedido
entonces asignarle a la celda del libro de pedido el contenido de la
columna G del archivo CSV que son las unidades. De esta manera se
llenaría la hoja de pedido alimentándose de la lectura del CSV.

Espero haberme explicado y que me puedan ayudar.

Gracias.

Saludos,

Flor.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
26/08/2008 - 23:25 | Informe spam
hola, Flor !

Mostrar la cita
supongo que el *.CSV lo abres con excel y se "ajusta" a los formatos de un libro de excel, pero...
al salir lo guardas como libro de excel ?... (o descartas los cambios y sigue como *.CSV ?)

y... cual es la celda/columna donde tienes el codigo del producto ? (y/o donde esta el comentario ?)
el comentario al que haces referencia es un comentario de celda ? (menu: insertar / comentario)
o es una celda adyacente con algun texto comentando cualquier detalle relacionado ???

Mostrar la cita
en cual otra celda habra de asignarse el contenido de la columna G del *.CSV ?

podrias exponer algunos detalles mas concretos ?
(de forma que se pueda re/construir el modelo a resolver ?)

saludos,
hector.
#2 colmenaf
27/08/2008 - 16:42 | Informe spam
On 26 ago, 17:25, "Héctor Miguel"
wrote:
Mostrar la cita
Hola Héctor Miguel.. de antemano Gracias por el apoyo :)

En relación a los detalles a continuación te los indico:

1.- Al salir descarto los cambios y queda como CSV, pero si es
necesario grabarlo como libro Excel no hay problema.

2.- El comentario es un comentario de celda (menú->insertar-
Mostrar la cita
ejemplo desde la B21 hasta la N167. Cada celda representa un producto.

3.- El contenido de la columna G del CSV sólo se asigna en la celda
del libro de pedido cuyo comentario coincida con el código del
producto que esta en la columna C del CSV.

Espero haber aclarado el panorama. Gracias.

Saludos,

Flor.
#3 Héctor Miguel
27/08/2008 - 18:59 | Informe spam
hola, Flor !

Mostrar la cita
no lo creo, segun parece, se requerira del uso de macros ;)

Mostrar la cita
algun ejemplo del contenido de algunas celdas y sus comentarios en el libro de pedidos ?
y como determinar si "el comentario"... coincide con... (que se busca ???) en el *.CSV ?
y "donde" se pone... "que dato" (o sea, de donde a donde) ?

saludos,
hector.

__ OP __
Mostrar la cita
#4 colmenaf
27/08/2008 - 21:52 | Informe spam
On 27 ago, 12:59, "Héctor Miguel"
wrote:
Mostrar la cita
Hola Héctor Miguel.

Requiero comparar con un macro que corra en el Libro de Pedidos algo
así (esto sería dentro de un For):

Si Worksheets(Hoja).Range(celda).Comment.Text = Archivo CSV.ColumnaC
Entonces
Worksheets(Hoja).Range(celda) = Archivo CSV.ColumnaG

Es decir, traerse los datos del CSV al Libro de Pedidos.

Espero sea posible hacer algo así con una macro...

Gracias.

Saludos,

Flor.
#5 Héctor Miguel
28/08/2008 - 01:49 | Informe spam
hola, Flor !

partiendo de lo siguiente conocido:
Mostrar la cita
y de tu argumentacion en este mensaje:
Mostrar la cita
Worksheets(Hoja).Range(celda) = Archivo CSV.ColumnaG
Mostrar la cita
lo que pides seria algo +/- como lo siguiente:
se asume que el archivo *.csv ya esta abierto y permanece como el libro activo <= OJO

dim celda as range, comentario as string
for each celda in workbooks("libro de pedidos").worksheets("hoja de pedidos").range("b21:n167")
comentario = celda.comment.text
with application
if .countif(range("c:c"), comentario) then
celda = .index(range("g:g"), match(comentario, range("c:c"), 0))
end if
end with
next

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Ads by Google
Search Busqueda sugerida