Acerca de la Instruccion With

5 envíos / 0 nuevos
Último envío
Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Acerca de la Instruccion With

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...

xoan ninguen
Imagen de xoan ninguen
Offline
última acción: Hace 3 años 10 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntos
alta: 19/01/2011 - 10:03
Puntos: 835
Re: Acerca de la Instruccion With

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)

Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Re: Acerca de la Instruccion With

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

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 4 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Acerca de la Instruccion With

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

Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Re: Acerca de la Instruccion With

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