Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/01/2010, 05:43
Avatar de ceSharp
ceSharp
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: Guardar datos de archivo excel2007 en varias hojas excel2003

Vaya! se me ha olvidado pasarte las variables globales...
te paso la función entera, para que no haya dudas
'---------------------------------------------------------
Dim nuevoLibro As String
Dim libro2007 As String
Dim contador As Integer
Dim inicio As Integer

Sub excel2003()
On Error GoTo msgError

'inicio es la variable que marcará el inicio de cada seleccion de filas
inicio = 1
'como vamos a ir cogiendo de 65000 en 65000 inicializamos contador a esta fila
contador = 65000
'almacenamos el nombre del libro 2007
libro2007 = ThisWorkbook.Name
'creamos un libro nuevo
Workbooks.Add
'guardamos el nombre
nuevoLibro = Workbooks.Item(2).Name

Dim hoja As Integer
hoja = 1
Do
'vamos al libro de excel 2007
Windows(libro2007).Activate
'seleccionamos el rango de las filas y las copiamos
Rows(inicio & ":" & contador).Select
Selection.Copy
'ahora vamos al libro nuevo y pegamos las filas copiadas
Windows(nuevoLibro).Activate
Sheets("Hoja" & hoja).Select
Selection.PasteSpecial
'añadimos una hoja nueva al libro
Sheets.Add After:=Sheets(Sheets.Count)
contador = contador + 65000
inicio = inicio + 65000
hoja = hoja + 1
Loop Until contador > 455000

'y guardamos como libro excel 2003
ActiveWorkbook.SaveAs Filename:= _
"C:\" & "Transformado_" & nuevoLibro, FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
MsgBox ("Tarea Finalizada")
Exit Sub

msgError:
MsgBox ("Se ha producido un error")
End Sub
'---------------------------------------------------------

y antes se me ha olvidado comentarte que la función saca una alerta al final avisándote de que todo se ha realizado correctamente o ha habido algún error.

salu2