En mi aprendizaje sobre VBA me voy encontrando con una instrucción que me llama la atención por su "flexibilidad" digámoslo así. Entiendo que es una manera muy efectiva y clara de aplicar distintas propiedades a un solo objeto.
With ActiveCell (por poner un ejemplo...)
.Value = i * j
.Font.Bold = True
.Font.Color = RGB(255, 0, 0)
.NumberFormat = "m/d/yyyy"
.HorizontalAlignment = xlCenter
End With
Está claro, su uso y efecto.
La pregunta que hago es dónde se puede encontrar el significado y alcance de cada una de estas instrucciones precedidas del punto, porque he encontrado muchas y muy variadas. Algunas faciles de comprender pero otras, se me escapan...
Ejemplos de estas instrucciones...
.Formula = "='" & Ruta_libro & "[" & Nombre_libro & "]" & nombre_hoja & "'!b4"
.Delete
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.Offset(0,1),Value = Ciudad
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
etc. etc.
Gracias anticipadas a los aportes que vengan...
Hola José Luis,
Pues, si estás situado en el IDE de Visual Basic (desde una hoja de Excel, pulsando ALT+F11), te saldrá ayuda sobre cada uno de las variables y objetos relacionados cuando pulsas F2 (o también en el menú VER---> Examinador de objetos). F1 a veces también ayuda.
Que te aproveche la programación ;)
-----------------------------------------------------------------
www.TrazEX.com (soluciones sobre Excel)
Hola Enrique:
Gracias por tu aportacion.
Efectivamente conozco esas ayudas de VBA y aparte de que hay que "saber buscar" muchas de las cosas que el "novato" quiere saber no son tan faciles de encontrar.
Veras... y esto lo digo, por si a algun otro "novato" le ayuda.
Entre las muchas "instrucciones punto" que se pueden poner en la especie de "bocadillo" que empieza con With y termina con el End With, a mi me ha costado un monton dar con la explicacion de la instruccion .Formula
Hasta que he dado con ella, y como todas las cosas, una vez que se sabe... era muy sencillo...
La instruccion .Formula, la utiliza VBA para poder "entender" las funciones propias del Excel. Es decir, si se quiere utilizar algunas funciones de Excel dentro de un macro de VBA hay que ponerla dentro de esta sintaxis: .Formula = .....
En esos puntos suspensivos irian las funciones Excel.
Pero a pesar de que lo he podido entender... no consigo encontrar en la ayuda de VBA donde podria encontrar esa misma explicacion, con detalles ampliados, por supuesto...
Y como esa instruccion... otras muchas. De ahi surgia mi pregunta...
Muchas gracias Enrique por tu aporte y buenos deseos en el mundo tan gratificante de la programacion.
Jose Luis
El caso es que las instrucciones seguidas por el punto no tienen nada que ver con el with, sino con lo que hay detrás
Me explico:
Si pones
With Activecell
Todo lo que pongas detrás de cada punto es como si pusieras la orden con "activecell" delante del punto
Es decir, lo que hay detrás del punto serán propiedades, funciones o instrucciones dependientes de activecell.
Para encontrar el significado de la mayoría deberías buscar en la ayuda (F1) la página de activecell(objeto) y abajo del todo pinchar en "Miembros del objeto activecell"
Si en vez de activecell tienes cualquier otra cosa, es exactamente igual.
Espero que te sirva
Un saludo
Gracias Cron, por aportar ayuda al tema.
Poco a poco voy ampliando mi comprension sobre este y otros temas del VBA y mucho os lo debo a los que respondeis a nuestras preguntas.
Todavia tengo un largo camino que recorrer, y posiblemente nunca llegue al final del camino... pero mientras anda en ello, lo disfruto...
Gracias, de nuevo y asi como leo respuestas a mis temas, tambien leo con interes los temas ajenos planteados y respondidos.
Cordialmente
Jose Luis Casla