Una Macro que funcionaba en 2010, ahora en el 2013 es re lento.

Es una macro muy simple, ingresa con F2 en cada celda y le borra el espacio de adelante, ya que extraigo información de otro sistema en excel.

La pregunta es, la macro la tenía hecha en 2010 y era bastante rápida ejecutándose, ahora cambie de excel a 2013 y este es bastante lento, en todo sentido, pero en particular en la macro mencionada.

Alguien me podría decir si hay alguna función que esté haciendo que funcione más lento,

Gracias

Sub BorrarApostrofe()
'Por.DAM
For Each celda In Selection
    celda.Select
    SendKeys "{F2}", True
    DoEvents
    SendKeys "{HOME}", True
    DoEvents
    SendKeys "{DEL}", True
    DoEvents
    SendKeys "{F2}", True
    DoEvents
    SendKeys "{DOWN}", True
    DoEvents
Next
End Sub

@elsamatilde

1 respuesta

Respuesta
2

Prueba con la siguiente:

Sub Quitar_Apostrofe()
    Set rango = Range("D12:D18")
    With rango.Offset(, 1)
        .FormulaR1C1 = "=RC[-1]"
        .Value = .Value
    End With
End Sub

Lo que hace la macro es quitar el apostrofe

Cambia en la macro "D12:D18" por el rango de celdas, la macro te pondrá en la columna de la derecha "E12:E18" el valor de cada celda sin el apostrofe

Prueba y me comentas

Dante, necesito que lo haga en cada celda seleccionada porque siempre son en distintas, la misma macro la uso para otros archivos que en lugar de apostrofe tiene un espacio adelante.

Y mi preguntá iba un poco más a fondo, ya que en general todo el excel 2013 anda más lento.

Gracias!

Puede ser así. El resultado te lo dejará en la columna de la derecha

Sub Quitar_Apostrofe()
    Set rango = Selection
    With rango.Offset(, 1)
        .FormulaR1C1 = "=RC[-1]"
        .Value = .Value
    End With
End Sub

Revisa la siguientes recomendaciones para mejorar el desempeño del libro

https://www.gerencie.com/recomendaciones-para-mejorar-el-desempeno-de-un-archivo-de-excel.html

Dante, la probé pero no me sirve la marco esa, es muy buena, rápida, pero no me sirve.

El link que me pasas esta perfecto, pero ya lo tengo en cuenta siempre eso también.

Espero a ver si alguien sabe algo más de que le pasa al EXCEL 2013.

Gracias

Te paso otra macro, selecciona el rango que quieras y ejecuta la macro.

Sub Quitar_Apostrofe2()
    With Selection
        .Value = .Value
    End With
End Sub

sal u dos. No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas