Sub file_location()
Dim dato1 As String 'Declaro las variables
Dim dato2 As String
Dim dato3 As String
'Ahora grabo en las variables los datos que pienso "copiar" en otro libro.
With ThisWorkbook.Sheets("hoja 1") 'La funcion With es una maravilla
dato1= .Range("c2") 'En lugar de copy paste uso el operador igual, mas eficiente dicen.
dato2= .Range("c3")
dato3 = .Range("c4")
End With
'Ahora con el libro de destino, selecciono los rangos, uso .End(xlDown).Offset(1, 0) para encontrar la primera celda libre e ir "pegando"en lista:
With Workbooks.Open("D:\ElOtroLibro.xlsm").Sheets("Sheet1")
.Range("a1").End(xlDown).Offset(1, 0) = dato1
.Range("b1").End(xlDown).Offset(1, 0) = dato2
.Range("c1").End(xlDown).Offset(1, 0) = dato3
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
'Esto es solo para volver a la hoja y libro desde donde comencé a transferir los datos:
ThisWorkbook.Sheets("hoja 1").Activate
Range("c3").Select
Ahora como buscar un texto y devolver un valor adyacente
Nota: Estoy creando un tutorial para aprender a utilizar VBA en la oficina. La pagina es www.macroreportes.com eventualmente ire agregando mas secciones, por lo que si quieres seguir el curso seria buena idea registrar tu email en la pagina para recibir las notificaciones cuando suba un nuevo post.
y cómo sería para copiar o enviar de un formulario a unas celdas de otro libro diferente?
ResponderEliminar'Primero declaras los dos workbooks con los que trabajaras
EliminarDim book1 As Workbook
Dim book2 As Workbook
'los asignas
Set book1 = Workbooks.Open("archivo1.xlsx")
Set book2 = Workbooks.Open("archivo2.xlsx")
'ahora copias el rango de un libro a otro
book1.Sheets("sheet1").Range("a1").Copy book2.Sheets("sheet2").Range("a1")
'eso es todo.
Si quisiera copiar un datos especifico de varias hojas a otro libro como seria el codigo
ResponderEliminarmuy bien amigo
ResponderEliminar