Como quitar una funcion

26/09/2003 - 17:43 por Fco Bardales | Informe spam
Queridos amigos
Tengo Excell 2000, y hace una semana me aparece una funcion definida por el
usuario llamada
"arreglar" {Strc =arreglar() }, yo no he definido esta funcion,
las unicas definidas por mi son con respecto a macros grabadas en mi libro
"personal.xls".
Esta funcion se activa apenas se abre excel, y los unicos complementos
activos que tengo son el de "ayuda suma condicional" y el de "calculadora
excel", ( esta ultima, creacion de Fernando Arroyo y que por cierto es de
gran ayuda. Gracias Fernando.)
No se que hace esa funcion y no aparece ayuda para ello. ¿Cómo la elimino?

Gracias de antemano por su ayuda.

CPC Francisco Bardales
 

Leer las respuestas

#1 Fernando Arroyo
27/09/2003 - 12:03 | Informe spam
El complemento "Calculadora" tiene una función llamada Arreglar. Es como sigue:

Function arreglar(strC As String) As Double
If InStr(strC, ",") = 0 Then
arreglar = Val(strC)
Exit Function
End If
arreglar = Val(Left(strC, InStr(strC, ",") - 1) & "." & Mid(strC, InStr(strC, ",") + 1))
End Function

La función está en un módulo normal del complemento, y lo que hace es verificar si en la entrada de números de la calculadora hay una coma como separador de los decimales, y si es así sustituirla por un punto para poder trabajar numéricamente con ella. En principio no debería ser necesaria, porque esto mismo lo hace la función de VBA Replace, pero la puse en el complemento porque dicha función Replace de VBA es relativamente reciente (no está en todas las versiones de Excel), así que preferí usar una escrita por mí.

La función no te aparecería en la lista de funciones definidas por el usuario si yo la hubiera declarado como privada, pero esto no pude hacerlo porque la usa el código del formulario del complemento, que lógicamente está en otro módulo (en el del propio formulario).

Tu mensaje me ha hecho ver que puedo evitar esta función personalizada sin tener que recurrir al Replace de VBA: al escribir el complemento no recordé que puedo usar también la función de Excel llamada SUSTITUIR (Substitute en el objeto WorksheetFunction), y es lo que voy a hacer. En los próximos días modificaré el código y volveré a "subir" el complemento a mi sitio web, así que te sugiero que te pases cuando quieras, a partir del martes, por ejemplo, y te lo bajes. Llamaré al fichero zip calculadora2.zip, para diferenciarlo del anterior. Antes de instalarlo tendrás que desinstalar la calculadora actual, desmarcándola en Herramientas->Complementos, y borrando el archivo calculadora.xla. Al hacer esto, verás que la función Arreglar desaparece de tu lista de UDFs.

Me alegra saber que esta modesta calculadora te está siendo de utilidad, y te agradezco que me hayas ayudado a mejorarla. Un saludo.


Fernando Arroyo
MS MVP - Excel


"Fco Bardales" escribió en el mensaje news:
Queridos amigos
Tengo Excell 2000, y hace una semana me aparece una funcion definida por el
usuario llamada
"arreglar" {Strc =arreglar() }, yo no he definido esta funcion,
las unicas definidas por mi son con respecto a macros grabadas en mi libro
"personal.xls".
Esta funcion se activa apenas se abre excel, y los unicos complementos
activos que tengo son el de "ayuda suma condicional" y el de "calculadora
excel", ( esta ultima, creacion de Fernando Arroyo y que por cierto es de
gran ayuda. Gracias Fernando.)
No se que hace esa funcion y no aparece ayuda para ello. ¿Cómo la elimino?

Gracias de antemano por su ayuda.

CPC Francisco Bardales



Preguntas similares