Pasar datos de un libro a primera fila vacía de otro

Hola otra vez, jc:
Me ayudaste con una macro hace unos días y quería saber si me podías ayudar con esto.
La macro cortaba una fila y pegaba en la primera fila vacía de otra hoja. Mi pregunta es: ¿Cómo podría hacer para que lo pegara en otro libro que tengo en otra carpeta? Es pasar de una carpeta a otra que están al mismo nivel... Una es la carpeta general que se llama "MADRE" y las otras "ETAPA1" y "ETAPA2"
Sub cortaFila()
ActiveSheet.Range("D2").Select
'recorre la col A
While ActiveCell.Value <> ""
If ActiveCell.Value = "referido" Then
'si celda en col A = referido
fila1 = Sheets("REFERIDOS").Range("D65536").End(xlUp).Row + 1
Selection.EntireRow.Copy Destination:=Sheets("REFERIDOS").Range("A" & fila1)
Selection.EntireRow.Delete
End If
'pasa a la fila siguiente
ActiveCell.Offset(1, 0).Select
'repite el bucle
Wend
End Sub
De antemano muchas gracias.
Gustavo Elranuza

1 Respuesta

Respuesta
1
Primeramente tienes que abrir el libro de trabajo, por ejemplo:
Dim NameFile As String
Set NameFile = Workbooks.Open("C:\Documents And Settings\Mis domentos\MiArchivo.xls")
Este código lo pones al principio y listo ejecutas el resto del programa.
Hola jc, primero agradecerte la repuesta.
Comentarte que me dice "Error de compilación, se requiere objeto" y marca la parte de "NameFile =" como error. He probado en poner las lineas de código que me pasas para abrir el archivo de destino en todas partes del módulo, pero no me deja. Seguro estaré haciendo algo mal.
Mira, te dejo el código que tengo a ver si me puedes decir.
Dim NameFile As String
Set NameFile = Workbooks.Open("C:\MADRE\SELECCION\avance 8\general.xls")
ActiveSheet.Range("D2").Select
'recorre la col A del archivo de origen
While ActiveCell.Value <> ""
If ActiveCell.Value = "referido" Then
'si celda en col A = referido pega en la última fila de la hoja REFERIDOS
fila1 = Sheets("REFERIDOS").Range("D65536").End(xlUp).Row + 1
Selection.EntireRow.Copy Destination:=Sheets("REFERIDOS").Range("A" & fila1)
Selection.EntireRow.Delete
End If
'pasa a la fila siguiente
ActiveCell.Offset(1, 0).Select
'repite el bucle
Wend
End Sub
De antemano muchas gracias por tu ayuda
gustavo
Utiliza este código:
Dim FileName As String
ChDir "archivos de programa\cmga\files"
ruta = Application.GetOpenFilename(filefilter:="Archivos, *.*", Title:="Buscar Archivo")
If ruta <> False Then
Application.Workbooks.Open (ruta)
FileName = Dir(ruta)
Else
Exit Sub
End If
Con esto te abre un cuadro de diálogo para que escojas el archivo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas