Jump to content
josegomez

ANSWERED Llamar procedimientos de excel desde mis macros

Recommended Posts

Saludos a todos.

Con la siguiente cuestión, haber si alguien puede ayudarme. Quisiera saber si hay alguna forma de llamar macros nativas de Excel para incorporarlas a mis propias macros,

Por ejemplo trabajo con muchas celdas los cuales tienen nombres propios, y la macro lo que me hace es ordenarlos de forma alfabética pero lo que necesito después es ponerlos en nombre propio, lo que hago es una vez que están ordenas utilizo una columna auxiliar y ahí pongo la formula nombrepropio y arrastro. Una vez que ya quedo copio en valores y pego en el rango original.

Esto me lleva mucho tiempo y es muy estresante ya que manejo muchos datos por lo que lo que busco es que después de aplicarle mi macro que ordena automáticamente llamar la función nativa en Excel y aplicarle la función de nombre propio al rango.

Busque en internet y efectivamente encontré una macro para poner nombrespropios pero aquí me surgió la duda de que si puedo llamar la función nativa que ya trae el Excel.

De antemano muchas gracias.

Share this post


Link to post
Share on other sites

Sin ver la solución de JSDJSD, selecciona el rango y ejecuta esta macro:

Sub NOMPROPIO()
For Each CELDA In Selection
   CELDA.Value = Evaluate("=PROPER(""" & CELDA & """)")
Next
End Sub

 

Edited by Antoni

Share this post


Link to post
Share on other sites

Saludos y muchas gracias por responderá ambos, efectivamente JSD JSD es lo que estaba buscando pero el problema es que solo se fija en un rango de la columna "A" lo cual me limita mucho ya que los rangos varían en toda la hoja.

La opción de Antoni no presenta este inconveniente por lo que esta seria la mejor opcion.

Ahora el problema que se me presenta es que además convertir en nombre propio también necesito convertir en mayúscula minuscula, cursivas, cambiar de tamaño. etc etc por lo que había pensado. Para no estar buscando el código de cada uno. Utilizar las funciones que ya trae el Excel de forma nativa. Solo que no se como llamar los procedimientos nativos en Excel en mis macros. O no se si se pueda hacer esto que para mi seria la perfecta solución.

 

Saludos!!!

 

 

Share this post


Link to post
Share on other sites
Hace 10 minutos , josegomez dijo:

Saludos y muchas gracias por responderá ambos, efectivamente JSD JSD es lo que estaba buscando pero el problema es que solo se fija en un rango de la columna "A" lo cual me limita mucho ya que los rangos varían en toda la hoja.

Por esto mismo es por lo que se dice que se suban los archivos con una explicación más o menos clara de los que pretendemos.

Me alegro mucho de que el código del Maestro Antoni te sirva para tu proyecto. También decirte que la forma de agradecer a los que te ayudan en este foro es mediante el corazoncillo que tienes en la parte inferior derecha pulsando el emoticono que más se adapte a tu ayuda.

Agradecer.gif.1a1727e9f3874ff8d538459aa016feae.gif.debf3cfb4b8b2b589e2c68dc1f2d2279.gif.77f5c6417befd3f827621fd8b18946aa.gif

 

Share this post


Link to post
Share on other sites

Hola

Hace 19 horas, josegomez dijo:

Ahora el problema que se me presenta es que además convertir en nombre propio también necesito convertir en mayúscula minuscula, cursivas, cambiar de tamaño. etc etc por lo que había pensado. Para no estar buscando el código de cada uno. Utilizar las funciones que ya trae el Excel de forma nativa. Solo que no se como llamar los procedimientos nativos en Excel en mis macros. O no se si se pueda hacer esto que para mi seria la perfecta solución.

También puedes hacer uso de Evaluate sin bucles [For Next]

Sub F_Evaluate_GP()

With Selection
    .Value = Evaluate("transpose(transpose(proper(" & .Address & " )))")
    'lower minuscula / 'upper mayuscula
    With .Font
        .Italic = 1
        .Bold = 1
        .Size = 14
    End With
End With

End Sub

Claro esta, que previamente debes SELECCIONAR el rango

 

Saludos

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy