Excel: Macros:

Buenas, gracias por la ultima respuesta me vino bárbaro, si bien te mande 2 aclaraciones después de leerlo un poco más entendí a que te referías y me salio bárbaro, gracias.
Ahora tengo un problema aunque menor. No me anda bien el código que me pasaste para crear las hojas. Con "no me anda bien" me refiero a que escribo un nombre y me crea la hoja, grabo. Hasta ahí perfecto. Luego escribo otro y no me anda, entonces cierro excel, vuelvo a abrir pongo un nombre y me anda. Eso es lo que no entiendo. Me anda 1 vez si pero si cierro y abro me anda perfecto. ¿Tienes idea que podría estar pasando? Gracias

1 respuesta

Respuesta
1
Ya no recuerdo exactamente el código que tienes. Lo que me dices me suena a que o bien en la función Intersec no se considera el rango donde escribes el valor (creo que era A1:A100). Es raro, pero si el segundo valor lo escribes en B1 por ejemplo, la función no se ejecutaría.
La otra opción es que suelo deshabilitar los eventos mientras se trata un evento para evitar que si como resultado de un evento escribes en la misma hoja vuelva a ejecutarse el código. Eso debe estar a pares, es decir, desactivar (Disable) al inicio y (Enable) al final. Es posible que o bien me haya comido el del final o bien debido a los bucles If no se esté ejecutando el Enable de nuevo. En otras palabras la esctructuta de la función en la hoja es como sigue:
Private Sub WorkSheet_Change (ByVal target As Range)
Application.EnableEvents = False 'desactiva eventos
If Not Intersect (target, Range("A1:A100")) is Nothing then
'aquí el código de creacion de hojas en función de target
....
end If
Application.EnableEvents = True 'reactiva eventos
end Sub
Si no es nada de esto pásame el código exacto y lo compruebo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas