¿Cómo hacer "doble click" y "dar enter" en rango de celdas en columna usando vba-excel?

Necesito simular con vba el "doble click" y "enter" en un rango extenso de celdas (Ej.: I2:i143382) para que se active el formato de número deseado y que he configurado previamente (si no se da click doble y se presiona enter, las celdas no toman el formato).

He probado el siguiente código que conseguí online:

Sub MyTestMacro()
Dim rRng As Range
Dim rCell As Range
Set rRng = Range("I2:I43382")
For Each rCell In rRng.Cells
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
Next rCell
ActiveWorkbook.Save
End Sub

Funciona correctamente en cuanto a realizar el doble click y dar enter pero con los siguientes detalles:

1) Trabaja en cualquier rango aún cuando tiene uno especificado (I2:I43382).

2) Se ejecuta solo en 2500 líneas (celdas) por vez por lo que tengo que re-ejecutarlo a partir de la celda siguiente a la cual se detuvo. Esto es lo más crítico ya que son casi 44 mil filas por cada una de las 8 columnas que debo trabajar (col. I a col. P).

He intentado modificaciones a ese código así como otras soluciones pero sin éxito, por lo que solicito su apoyo

Respuesta
1

[Hola

Sendkeys es algo "inestable" por lo que yo recomiendo su uso solo cuando es estrictamente necesario.

Aunque no muestras los datos, creo que esto te podría ayudar:

Sub Cambiar()
Dim Celda As Range
For Each Celda In Range("I2:I143382")
    Celda.Value = CDbl(Celda.Value) * 1
Next Celda
End Sub

Comentas

Abraham Valencia

Gracias Experto, funciona muy bien. Fue una solución genial. Los datos son cifras sencillas provenientes de un .csv.

Doy por finalizada la consulta, de nuevo muchas gracias.

Listo, de nada, hasta la próxima.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas