intMon=Sheets("menu").Range("G2")  ' intMonは当月の月数値
                     ' 本来なら、当月が何月かをEドライブの[当月日付基準.xls]から
                     ' 取得するのだが、このファイルでは省略しているので、手動で
                     ' G2に入力している。
Dim intMon As Integer          ' intMonは数値なのでIntegerと定義する。
If intMon=7 Then strMon="E"       ' menuの G2 が 7 なのでstrMonは E になる。
Dim strMon As String            ' strMonは文字なのでStringと定義する。

Sheets("売上高表").Select
intUri(1)=Range("I6")          ' intUri(1)は配列の1番目を指している。
intUri(2)=Range("I7")
intUri(3)=Range("I8")
Dim intUri(1 To 13) As Long       ' intUri配列の個数を、1番から13番まで使用すると定義している。
                    ' As Longは、数値の桁数が多い場合もあるのでLongにしている。
                    ' Integerより多い桁数を使用できる。
Sheets("機種別円グラフ").Select
Range("strMon & "7").Value=intUri(1)  ' strMonはEだから、E7にintUri(1)の値を書く。
Range("strMon & "8").Value=intUri(2)
Range("strMon & "9").Value=intUri(3)

Range(strMon & "7:" & strMon & "18).Copy   ' E7からE18までをコピーする。
Range("D22").Select
Slection.PasteSpecial Past:=xlPastValues, Operation:=xlNone,SkipBlanks _
  :=False, Transpose:=False
      ' 値だけを貼り付ける。

      ' 文章が長くて改行したい場合は、[半角スペース]、[半角]で[Shift]を押して[ろ]、と
      ' [半角スペース]を入れて[Enter]を押す。

Application. CutCopyMode=False    ' コピーモードの解除           
Private Sub Workbook_Open( )      ' ファイルを開いたときに実行する。
 Application.ScreenUpdating=False    ' 現在の選択位置から、カーソルが動かないで以後実行する。
 Call 機種別売上円グラフ作成       ' サブプログラムを実行する。
 Application.ScreenUpdating=True     ' 現在の位置から動いてもよい。
 Sheets("menu").Select         ' 編集などをして、他の場所に保存されていても
 Range("A1").Select            ' menuのA1にカーソルがあるようにしている。
End Sub
グラフデータは、上の表が月別データで、下の表が累積データである。
尚、グラフの作成手順は「準備編」を参照してください。
このシートは、メニューシートである。[機種別円グラフ]シートのグラフをコピーした
もので、[機種別円グラフ]シートのグラフが変化するとこのグラフも同時に変化する。
だから、ファイルを開いたときには、このシートを見ることになる。
この表は、グラフデータの基になる売上高表である。
このシートは、データの記入表と月罰売上高の機種比率と年間累積グラフである。
● このグラフは、ファイルを開いたときに、Eドライブから売り上げデータを取得して機種別に分類し、
  売上高表を作成して、それを基に円グラフを自動更新する。
  尚、売上高表に転記までの処理は、複合グラフの作成と同じなので省略する。


 
実践コース
売上高の機種別分類円グラフの自動作成


実際に使っているシステムの内容で解説
  EXCEL VBA 講座