¿Pero se trata de sustituir la hoja1 del libro donde está el formulario con la hoja1 del libro seleccionado?
Si fuese eso, el código podría ser:
Sub prueba()
Dim vFichero As Variant, wkbLibro As Workbook
vFichero = Application.GetOpenFilename(filefilter:="Ficheros de Texto (*.txt), *.txt,Libros de Excel (*.xls*), *.xls*", Title:="Seleccionar fichero")
If vFichero = False Then
MsgBox "No se seleccionó ningún fichero."
Exit Sub
Else
Set wkbLibro = Workbooks.Open(vFichero)
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("Hoja1").Delete
Application.DisplayAlerts = True
wkbLibro.Sheets("Hoja1").Copy Before:=ThisWorkbook.Sheets(1)
wkbLibro.Close savechanges:=False
End If
End Sub
pero cuidado con este código, porque borrará la hoja1 del libro donde se ejecute. Si vas a probarlo, hazlo en una copia del libro.
Comentario borrado por el autor - Juan Diaz
@jrgces como seria, en el caso de que no quisiera que se borre la Hoja1, osea que se pegue en la Hoja1 misma, sin abrir otro libro?. Gracias! - Juan Diaz