Prueba este código: Private Sub CommandButton1_Click() Set rango = Application.InputBox(prompt:="Selecciona el rango a copiar :", Type:=8) Set rango2 = Application.InputBox(prompt:="Selecciona el punto a pegar los datos :", Type:=8) Worksheets("hoja1").Range(rango.Address).Copy _ Destination:=Worksheets("hoja1").Range(rango2.Address) fila = rango.Row col = rango.Column For Each valor In Range(rango.Address) fila = valor.Row col = valor.Column Next 'each For Each valor In Range(rango2, Cells(rango2.Row + fila - 1, rango2.Column + col - 1)) If Not IsNumeric(valor) Then Range(valor.Address) = "" Next 'each End Sub Yo lo he programado para copiar el rango que tú quieras y pegarlo en principio en la misma hoja en otro sitio y borra lo que no son números. Se podría seleccionar otra hoja para pegarlo. Ya me comentaras si te vale o hay que modificar algo...