Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/11/2009, 13:33
Avatar de ceSharp
ceSharp
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Podría hacerce esto en excel? ayuda!!!!

Bueno, creo que ya he dado con ello...

el problema era que la celda F1 que te he puesto en el ejemplo debías de haberla cambiado por J1 (por ejemplo) ya que F1 en hoja2 está dentro de la primera ficha, y pisarías el contenido (no es grave pero la primera quedaría mal)
El otro problema estaba en que tenías que haber modificado la cantidad de lineas a 'saltarse' para la segunda ficha; en mi ejemplo te puse 6 y deben de ser 20, porque 20 son las filas que tiene cada una de tus fichas.
Este sería el código correcto para tu botón
----------------------------------------
'declaro la variable que controla la cantidad de fichas almacenadas
Dim fichas As Integer
fichas = Hoja2.Range("J1")

'selecciono el rango de la hoja1 (en este caso desde A1 a E6)
Range("A1:H20").Select

'copio el rango
Selection.Copy

'voy a hoja2
Sheets("Hoja2").Select

'mediante la variable fichas sé en todo momento cuántas hay almacenadas,
'sin necesidad de abrir ningún archivo. si fichas es 0 es que es la primera de todas
If fichas = 0 Then
Hoja2.Range("A1").Select
ActiveSheet.Paste
'y actualizo la celda J1 de hoja2 para que ahora haya una
Hoja2.Range("J1") = 1
Else
'si fichas es mayor que cero multiplico la variable por el número de filas
'que copio de la hoja1. Cada ficha tiene 20 filas. añado un más uno
'para que no pise la última fila de la anterior ficha
Hoja2.Range("A" & (fichas * 20) + 1).Select
ActiveSheet.Paste
'y actualizo la celda F1 con una ficha más
Hoja2.Range("J1") = Hoja2.Range("J1") + 1
End If

'opcional: si no quieres volver a la hoja1 comenta esta línea
Sheets("Hoja1").Select
Range("A1").Select

'leer_archivo
'Call copiar_ficha
------------------------------------------

Prueba ahora y verás que funciona (o eso al menos espero...)

salu2