Para esta pregunta, me refiero a los post de abajo para aclarar a mí mismo:
Why is my conditional format offset when added by VBA?.Elija, .Activesheet, .Activecell etc ...
En muchos, muchos mensajes que veo en estos días, se admiten OP de silencio utilizar. Activar,. Seleccionar,. Desactivar, etc., mientras que son una puerta abierta a posibles errores (más a menudo causados por los usuarios finales).
El código a veces incluso es compatible.
Mi pregunta: ¿Hay alguna situación válida en la que usaría cualquiera de estos enunciados sin alternativas directas disponibles que detectaran los errores típicos resultantes de estos stmts?
Me refiero a dinámicas soluciones que en mi opinión son una necesidad en el desarrollo de Excel. Personalmente, en más de 6 años no recuerdo un solo caso donde lo necesité; parece ser siempre una de las peores opciones disponibles. En mi compañía anterior, era una regla silenciosa no usarla nunca y solo mejoraba mi VBA (y la del usuario final). Por qué creo esta pregunta es porque creo que es útil hacer que los recién llegados a VBA sean conscientes de los riesgos que corren al usar estas declaraciones (por la experiencia de riesgos comprobados cuando los Usuarios finales hacen algo inesperado, al final no no tengo ningún afecto con VBA) y proponer alternativas directas (no voy a decir que siempre hice eso antes que a mí mismo, pero siento en mis entrañas que hay algo mal con solo ofrecer soluciones rápidas a los monstruos que ya tienen errores).
Creo que cuando se permite silenciosamente (lo que mejora automáticamente en este caso), los desarrolladores de VBA crearán una cantidad cada vez mayor de herramientas de forma incorrecta (y así también los nuevos herederos heredarán el comportamiento, que también aprenderán de Stack Desbordamiento ya que Google devuelve los resultados que buscan (!)).
Si el desarrollador no sabe por qué "puede" usar un "seleccionar" y en qué situaciones es un error potencial, (s) que nunca debería usarlo en mi humilde opinión. Personalmente, podría usar la herramienta de selección en la ventana inmediata para hacer algunas comprobaciones rápidas sobre la definición de rango dinámico (modo de error), pero no en el código escrito.
El resultado hace que VBA al final sea aún más impopular de lo que ya es; el idioma se convertirá en víctima en caso de que surjan problemas (sin embargo, todavía es el "mejor" soporte de programación disponible para las aplicaciones de Excel y Access). He visto esto suceder muchas veces en una gran empresa donde VBA siempre es "mierda".
Esto es solo mi propia experiencia honesta.
No se trata de estar bien o mal; Estoy interesado en escuchar su punto de vista sobre la pregunta.
Relevante: http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros –