Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5389 / 13644 ツリー ←次へ | 前へ→

【51107】近似曲線の追加 ゆた 07/8/28(火) 17:37 質問[未読]
【51116】Re:近似曲線の追加 けん 07/8/28(火) 20:17 回答[未読]
【51117】Re:近似曲線の追加 ゆた 07/8/28(火) 21:03 発言[未読]
【51118】Re:近似曲線の追加 けん 07/8/28(火) 21:22 回答[未読]
【51119】Re:近似曲線の追加 ゆた 07/8/28(火) 21:54 お礼[未読]

【51107】近似曲線の追加
質問  ゆた  - 07/8/28(火) 17:37 -

引用なし
パスワード
   下記のようなデータから散布図を作成し、近似曲線の追加も行いたく、
マクロの記録から抜き出して、色々試したもののうまくいきません。
「Trendlinesクラスのselectメソッドが失敗しました」と出ます。
.selectを無くすとコンパイルエラーになるし、この近似曲線の追加の
プログラムについてまったく理解できません。
どなたかご教示願います。

------------------------------------------------

-4    -0.2
3    0.2
-12    -1.4
-1    0
5    0.6

-----------------------------------------------

Option Explicit

Sub main()

Dim garea As Range
Dim grng As Range
Dim chartObj As ChartObject
  
  Set garea = Range("C1:H15")
  Set grng = Range("A1:B5")
  Set chartObj = Worksheets(1).ChartObjects.Add(Left:=garea.Left, Top:=garea.Top, Width:=garea.Width, Height:=garea.Height)
  With chartObj.Chart
    .ChartType = xlXYScatter
    .SetSourceData Source:=grng, PlotBy:=xlLine
    .HasLegend = False
    .SeriesCollection(1).Trendlines.Add _
    (Type:=xlLinear, Forward:=0, Backward:=0, Intercept:=0, DisplayEquation:=True, DisplayRSquared:=True).Select
  End With

End Sub

【51116】Re:近似曲線の追加
回答  けん  - 07/8/28(火) 20:17 -

引用なし
パスワード
   中身は良く分かりませんが、

>    .SetSourceData Source:=grng, PlotBy:=xlLine

.SetSourceData Source:=grng, PlotBy:=xlRows

ではないですか。

【51117】Re:近似曲線の追加
発言  ゆた  - 07/8/28(火) 21:03 -

引用なし
パスワード
   >.SetSourceData Source:=grng, PlotBy:=xlRows
>
>ではないですか。

といいますと?
系列は行ではなく列でいいです。

【51118】Re:近似曲線の追加
回答  けん  - 07/8/28(火) 21:22 -

引用なし
パスワード
   失礼しました
Excel2007 で試したら、

.SetSourceData Source:=grng, PlotBy:=xlLine

でエラーとなって、xlRows に変更したらエラーが出なかったので。

(Type:=xlLinear, Forward:=0, Backward:=0, Intercept:=0, DisplayEquation:=True, DisplayRSquared:=True).Select

を、下記に変更すれば良さそうですね。

Type:=xlLinear, Forward:=0, Backward:=0, Intercept:=0, DisplayEquation:=True, DisplayRSquared:=True

なお、先に書いたように、xlLineだとExcel2007 ではエラーになるので、
xlColumns にしておいた方が良いかもしれません。
これなら、2003,2007 どちらでもエラーになりません。

【51119】Re:近似曲線の追加
お礼  ゆた  - 07/8/28(火) 21:54 -

引用なし
パスワード
   >Excel2007 で試したら、
>
>.SetSourceData Source:=grng, PlotBy:=xlLine
>
>でエラーとなって、xlRows に変更したらエラーが出なかったので。
なるほど、会社のはすべて2003ですが、後々のことを考えると直したほうがよさそうですね。ほかのプログラムで使っているところも修正しようと思います。

>(Type:=xlLinear, Forward:=0, Backward:=0, Intercept:=0, DisplayEquation:=True, DisplayRSquared:=True).Select
>
>を、下記に変更すれば良さそうですね。
>
>Type:=xlLinear, Forward:=0, Backward:=0, Intercept:=0, DisplayEquation:=True, DisplayRSquared:=True
おぉ!できました!
( )がいらなかったのか…
以前こちらで質問させていただいたときもそうでしたが、自分の悩んでたところがこんなにもあっさりとしたことだと何かがっくりきちゃいますね(笑
あの見当違いなとこを疑って悩んだ時間はなんだったのかと(苦笑
本当に助かりました。ありがとうございました!

5389 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free