|
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で違うシートを指定したとしても、設定される範囲はアクティブシート上の範囲になります。
|
|