Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Error de compilación:Se ha detectadoun nombre ambi
Experto: vorkosigan
Valoración: 5
Fecha: 04/05/2008


Error de compilación:Se ha detectadoun nombre ambi
Hola: Muchas gracias de antemano por tu ayuda. Tengo una hoja de excel en la que tengo dos procedimientos sub que comienzan con: [b][i]Private Sub Worksheet_Change (ByVal Target As Range) ...etc.[/i][/b] Un procedimiento lo que me hace es meter la fecha actua en una celda en función de que otra celda esté rellena. El otro procedimiento lo que me hace es poner en mayúsculas precisamente la misma celda anterior que sirve de evento para introducir la fecha en una celda del al lado. El problema es que al meter los dos procedimientos en la misma hoja me sale el siguiente error: [b][i]"Error de compilacion. Se ha detectado un nombre ambiguo. Worksheet_Change.[/i][/b] He estado mirando en esta pagina y he llegado a la conclusión de que ambos procedimeientos son incompatibles pues tienen el mismo nombre. Pero no sé cómo solucionar el problema. ¿¿ Puedes ayudarme ?? Mis conocimientos de VBA no son muy grandes. Muchas gracias por tu ayuda.  

Error de compilación:Se ha detectadoun nombre ambi
Los nombres de procedimientos deben ser todos diferentes para que el compilador sepa donde dirigirse en cada momento. Para solucionar tu caso puedes hacer: 1. Dejar el primer sub tal como está para que se ejecute cuando se produzca el evento Change del objeto Worksheet 2. dentro de este sub crear una llamada "PasarAMayúsculas" (por ejemplo) 3. Crear un procedimiento sub tal como: sub PasarAMayusculas ()     'aquí el código del otro sub end sub Si tienes problemas puedes pasarme el fichero a

[url=mailto:vorkos@gmail.com]vorkos@gmail.com[/url]

y le echaré un vistazo.

Error de compilación:Se ha detectadoun nombre ambi
HOla. Pero me surge una pregunta que no sé resolver. ¿Cómo se crea una llamada "PasarAMayúsculas" desde este sub?. Dentro del código del primer sub ¿Qué tengo que hacer o crear en este procedimiento?. ¿Es una nueva línea de código con alguna entrada particular? Y después creo otro procedimiento pero con otro encabezamiento distinto al anterior que tenía de sub......, ¿NO? Gracias por tu ayuda.  

Error de compilación:Se ha detectadoun nombre ambi
Prueba con el siguiente código; hace lo siguiente: 1. insertas cualquier valor en $G$7 2. se activa el evento SelecetionChange. Capturo el valor de la celda que se ha modificado. 3. se dispara el evento change de la hoja, filtro el valor de la celda que me interesa (G7) para que ejecute 2 acciones: a) poner en A1, el valor de la fecha actual y b) ejecuta el procedimiento PonerEnMayusculas.   dim celda as string dim cambiado as boolean private sub worksheet_change(... if celda="$G$7" and cambiado=true then   cells(1,1).value=date   PonerEnMayusculas(celda) end if end sub private sub worksheet_selectionchange(... celda=activecell.address cambiado=true end sub sub PonerEnMayusculas(byval posicion as string)   range(posicion).value=ucase$(range(posicion).value) end sub Es decir aprovecha un evento para ejecutar varias acciones, cada una de ellas encapsulada en un sub diferente. Espero que te sirva como idea... 

Error de compilación:Se ha detectadoun nombre ambi
Perdona que no haya escrito antes pero he estado con problemas médicos. Verás, he puesto el código y no me sale pues no me deja poner dim.... antes del Private... (aunque es cuestión de orden). Si pudieras mandarme todo el código íntegro con todos los comandos, me resultaría más facil. Imaginemos que en la columna E quiero que al poner un dato en una celda, me salga en la columna H la fecha y la hora (todo en la misma fila, logicamente) y que a la vez en las columnas F y G todo lo que escriba salga en máyúsculas. ¿Cómo sería el código exacto con estos datos concretos?. Muchas gracias por tu esfuerzo y tu tiempo.  

Error de compilación:Se ha detectadoun nombre ambi
Pásame tu dirección de e-mail. Te enviaré una fichero demo.

Error de compilación:Se ha detectadoun nombre ambi
Gracias. Mi dirección de correo electronico es: [url=mailto:mruizcer@terra.es]mruizcer@terra.es[/url]   Te repito las gracias por tu ayuda.

Error de compilación:Se ha detectadoun nombre ambi
OK. Te he enviado una demo a tu dirección

Pregunta finalizada. Valoración: 5
Gracias, ahora sí, ya se cumplen las dos cosas que quería: Fecha con hora y mayúsculas en distintos sitios. Muchas gracias por tu ayuda.


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/1836976/error-de-compilacion-se-ha-detectadoun-nombre-ambi