VBA_With とは

 

主語 ( 操作対象 ) 省略して書く、という宣言 ( ステー トメント ? ) 。

 

このような文は、

彼は身体が細くて
彼は身体が折れやすくて
彼は色は黒くて
彼は種類が複数あって
彼は数が沢山いて
彼は存在が単独では意味がないんです。

 

主語が同じなので下記の様に書ける。

With
    身体は細くて
   身体は折れやすくて
    色は黒くて
    種類は複数あって
    数は沢山いて
    存在は単独では意味がない
End With

 

省略される主語を With ステー トメントを使って宣言することにより、
それ以降の内容は"彼"に関することだと相手に知らせている。

End With は、彼についての話は終わりという意味。end if 的な。

With ~ End With の間で操作対象の主語を省略した時は、
そのことを明示するために . ピリオドから書き始める。
」が  . ピリオドに当たる。

 

 

故に、以前書いたコードは ActiveSheet.Shapes.AddChart.Chart に対して
. hoahoga の操作を行っていくという意味になる。

With ActiveSheet.Shapes.AddChart.Chart
    .ChartType = xlColumnClustered
    .SetSourceData Range("A1:B4")
End With

SetSourceData メソッドは、Chart.SetSourceData 。
略さなければ、ActiveChart.SetSourceData 。

 

こちらから。
http://officetanaka.net/excel/vba/beginner/16.htm

 

以上。