Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Copiar datos de excel a excel

Estas en el tema de Copiar datos de excel a excel en el foro de Visual Basic clásico en Foros del Web. Hola, tengo 2 ficheros excel, el uno contiene datos y el otro está vacío. Ahora quiero recoger la columna 1, columna 3 y columna 5 ...
  #1 (permalink)  
Antiguo 22/04/2009, 01:58
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 4 meses
Puntos: 0
Copiar datos de excel a excel

Hola,
tengo 2 ficheros excel,
el uno contiene datos y el otro está vacío.

Ahora quiero recoger la columna 1, columna 3 y columna 5 del primer excel y copiarlas en el excel vacío seguidas, es decir en el nuevo excel no quiero que sean la columna 1,3 y 5 si no que quiero que sean la 1 la 2 y la 3.

¿Alguien puede ayudarme?

Gracias
  #2 (permalink)  
Antiguo 22/04/2009, 05:14
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Copiar datos de excel a excel

Cita:
Iniciado por albertogarci86 Ver Mensaje
Hola,
tengo 2 ficheros excel,
el uno contiene datos y el otro está vacío.

Ahora quiero recoger la columna 1, columna 3 y columna 5 del primer excel y copiarlas en el excel vacío seguidas, es decir en el nuevo excel no quiero que sean la columna 1,3 y 5 si no que quiero que sean la 1 la 2 y la 3.

¿Alguien puede ayudarme?

Gracias
Y si alguiente contesta, ¿te vas a molestar en darle las gracias, o vas a hacer mutis por el foro, como siempre?

Hay que tener jeta, eh primo!

  #3 (permalink)  
Antiguo 24/04/2009, 01:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Copiar datos de excel a excel

??!!!
Indignante,
yo siempre te he dado las gracias avellaneda.
Si alguna vez no lo he hecho es xq no he podido.

Bueno, no quiero entrar en polémicas.


¿Alguien sabe como copiar datos de un excel a otro excel por columnas?

Gracias por adelantado
  #4 (permalink)  
Antiguo 24/04/2009, 06:20
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Copiar datos de excel a excel

Hola, albertogarci86.

Si hay algo que recibimos como "retribución" los que nos esforzamos por contestar a los usuarios es ese "Gracias" y saber que pudimos ayudar a alguien. Y que a veces cuando alguien sólo viene a preguntar sin dar ese feedback puede resultar un poco incómodo como lo fue para Avellaneda. No es necesario que lo tomes a personal y no creo que su intención haya sido la de crear polémica.

En cuanto a tu pregunta, puedes investigar sobre el objeto Excel.Application que te puede servir tanto para abrir y leer los datos del primer libro como para escribir en el segundo.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 27/04/2009, 01:25
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Copiar datos de excel a excel

Hola David,
dejando a un lado el tema de dar las gracias.

He estado investigando en lo que me comentas y tengo problemas a la hora de ejecutar correctamente la copia de algo seleccionado mediante la siguiente instrucción:

oXLApp.Sheets("Hoja2").Select ' se posiciona en la nueva hoja
oXLApp.Cells().Select ' selecciona
oXLApp.ActiveSheet.Paste ' pega los datos

¿Alguna idea?

Lo unico que necesito es recoger 3 columnas que van a ser siempre fijas en un fichero excel 1 y pegarlas en un fichero excel 2.

GRACIAS
  #6 (permalink)  
Antiguo 27/04/2009, 09:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Copiar datos de excel a excel

Sólo tienes que abrir ambos libros y copiar de uno a otro:
Código vb:
Ver original
  1. Libro1.Sheets("Hoja1").Cells.Copy
  2. Libro2.Sheets("Hoja1").Cells.PasteSpecial
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 28/04/2009, 01:38
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Copiar datos de excel a excel

Cita:
Iniciado por David el Grande Ver Mensaje
Sólo tienes que abrir ambos libros y copiar de uno a otro:
Código vb:
Ver original
  1. Libro1.Sheets("Hoja1").Cells.Copy
  2. Libro2.Sheets("Hoja1").Cells.PasteSpecial
Ok, así puedo copiar dos hojas completamente, el problema es que del Libro1 solamente quiero recoger 3 columnas y copiarlas en el Libro2.

Gracias
  #8 (permalink)  
Antiguo 28/04/2009, 09:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Copiar datos de excel a excel

Sólo tienes que seleccionar el rango que quieras copiar:
v
Código vb:
Ver original
  1. Libro1.Sheets("Hoja1").Columns("A:C").Copy
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 29/04/2009, 04:52
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Copiar datos de excel a excel

Hola de nuevo,
pues la verdad que estoy probando lo que me decís pero nada.

Reporto el código que estoy utilizando para copiar 3 columnas del excel1 al excel2.

oXLApp.ActiveWorkbook.ActiveSheet = oXLApp.ActiveWorkbook.ActiveSheet.Name
oXLApp.ActiveSheet.Columns("A:C").Copy
oXLApp.Sheets("Hoja2").Select
oXLApp.Sheets("Hoja2").Columns("A:C").PasteSpecial

oxLApp es el objeto con la aplicación excel.

A la hora de seleccionar las columnas, se seleccionan, pero luego cuando hago la copia solamente pega en una celda la palabra oXLApp.

¿Cómo lo ves?

Me estoy desesperando.

Gracias
  #10 (permalink)  
Antiguo 04/05/2009, 09:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Copiar datos de excel a excel

¿Cómo abres los dos libros?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 05/05/2009, 01:37
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Copiar datos de excel a excel

Set oXLApp = CreateObject("excel.application")
oXLApp.Visible = True
oXLApp.Workbooks.Open (listaMateriales)
oXLApp.ActiveWorkbook.ActiveSheet = oXLApp.ActiveWorkbook.ActiveSheet.Name
For iRow = 1 To 3
oXLApp.ActiveSheet.Columns("A:C").Copy
Next iRow


oXLApp.Sheets("Hoja2").Select ' se posiciona en la nueva hoja
oXLApp.Sheets("Hoja2").Columns("A:C").PasteSpecial
oXLApp.Cells().Select ' selecciona
oXLApp.ActiveSheet.Paste ' pega los datos
oXLApp.Application.CutCopyMode = False


Así estoy trabajando.

Gracias
  #12 (permalink)  
Antiguo 05/05/2009, 06:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Copiar datos de excel a excel

Esta línea no tiene sentido:
Código vb:
Ver original
  1. oXLApp.ActiveWorkbook.ActiveSheet = oXLApp.ActiveWorkbook.ActiveSheet.Name
Al momento de copiar puedes especificar directamente el nombre de la hoja:
Código vb:
Ver original
  1. oXLApp.Sheets("Hoja1").Columns("A:C").Copy
El bucle for también sobra. Esto también sobra, ya que en la línea anterior ya estás pegando los datos:
Código vb:
Ver original
  1. oXLApp.Cells().Select ' selecciona
  2. oXLApp.ActiveSheet.Paste ' pega los datos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:16.