FUNCIÓN WITH
La función WITH sirve para evitar tener que escribir un grupo de instrucciones de manera completa, cuando éstas son consecutivas y tienen a la vez una estructura similar.
1. Lógica de funcionamiento
Entiéndase que si tenemos un grupo de instrucciones consecutivas que son iguales en la primera parte, cambiando tan sólo la parte final de la sentencia, podemos utilizar la función With.
2. Sintaxis
Para “n” instrucciones cuyas sentencias comienzan igual:
With inicio común de todas las instrucciones siguientes
.sentencia faltante de la primera instrucción
.sentencia faltante de la segunda instrucción
.sentencia faltante de la (n-1)-ésima instrucción
.sentencia faltante de la (n)-ésima instrucción
3. Ejemplo práctico
Para hacer notoria la diferencia de usar y no usar With, citaré cómo cambiar algunas instrucciones del siguiente gráfico:
Las instrucciones a cambiar serán:
- Mover el gráfico a otra pestaña
- Cambiar la presentación del gráfico
- Cambiar el tipo de gráfico
Sin usar with:
Sub Macro3()
ActiveSheet.ChartObjects("2 Gráfico").Activate
ActiveChart.Location Where:=xlLocationAsObject, Name:="Hoja2"
ActiveSheet.ChartObjects("1 Gráfico").Activate
ActiveSheet.ChartObjects("1 Gráfico").Activate
ActiveChart.PlotArea.Select
ActiveSheet.ChartObjects("1 Gráfico").Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartType = xlPyramidColStacked100
End Sub
Usando with:
Sub Macro3()
With ActiveSheet
.ChartObjects("2 Gráfico").Activate
.Location Where:=xlLocationAsObject, Name:="Hoja2"
.ChartObjects("1 Gráfico").Activate
.ChartObjects("1 Gráfico").Activate
.PlotArea.Select
.ChartObjects("1 Gráfico").Activate
.ChartArea.Select
.ChartType = xlPyramidColStacked100
End with
End Sub
Luego de ello, el gráfico habrá cambiado de pestaña y de forma, viéndose así:
Elaborado por: Ernesto Tarazona Niño de Guzmán
18/02/2013 a las 2:11 pm
Estimados,
hice una macro, que envia mail, pero quiero adjuntar 3 imagenes, de la primera pestaña, de la hoja activa... en el cuerpo de mail, o como adjunto...
el tema no se como adjuntar las imágenes...
"1 Gráfico" , "2 Gráfico" , "5 Gráfico" .
La macro para el mail es:
Private Sub Enviar_mail()
FechaRep = Range("J3").Value
TasaAb_ = Range("P11").Value
NivelAt_ = Range("P12").Value
LlamadasRec_ = Range("M10").Value
LlamadasAb_ = Range("M9").Value
'Mail
Para_ = "mail@mail.mail"
CC_ = "mail@mail.mail"
Asunto_ = "Reporte del día: " & FechaRep & " ."
texto_ = "Estimados: "
Dim oLook As Object
Dim oMail As Object
Set oLook = CreateObject("Outlook.Application")
Set oMail = oLook.createitem(0)
With oMail
.To = para_
'.CC = CC_
.body = texto_
.Subject = Asunto_
'.Attachments.Add (ActiveSheet.Shapes("1 Gráfico").Select)
.Send
End With
Set oMail = Nothing
Set oLook = Nothing
End Sub
Me podrían dar una mano... necesito
1) adjuntar las imágenes en el Cuerpo de texto del mail,
o..
2)adjuntar las imágenes como adjunto de mail
Muchas Gracias por el tiempo!!!