|    | 
     210 さん、おはようございます。 
 
>ありがとうございます(風邪を引いて連休にしてしまいました・・) 
大変ですね。大丈夫でしたか? 
 
>正にそうなんです。インプットBOXで選択したシートになれば良いのですが、 
>プログラム前にアクティブだったシートから、『インプットBOXの選択が変えられない』という所が、ハマッテしまってどうにもならない所だったんです・・・未だに。。 
私のコードをみていただけばわかりますが、ほとんどSelectはしていません。 
大体の事はSelect→Selectionではなく直接の指定で出来るので、不要なSelect(Activate)をはずしていく事がポイントだと私は思っています。 
なので、 
Set xCell = Application.InputBox(Prompt:="X軸DATAの先頭を選択してください。", Default:="A1", Type:=8) 
 xCell.Select 
 b = xCell.Address 
 c = Range(b).End(xlDown).Address(False, False) 
 ↓ 
Set xCell = Application.InputBox(Prompt:="X軸DATAの先頭を選択してください。", Default:="A1", Type:=8) 
 c = xCell.End(xlDown).Address(False, False) 
 
アドレスを取得する部分は、これでエラーになりません(キャンセルの場合は必ずエラー) 
 
ただし、 
'グラフを書く 
  .ChartType = xlLine 
  .XValues = Range(b, c)←× 
  .Values = Range(d, e)←× 
  .Name = Range(f)←× 
 End With 
 
×の部分は、シートを指定していないので、InputBoxで違うシートを指定したとしても、設定される範囲はアクティブシート上の範囲になります。 
 
 | 
     
    
   |