質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

12588閲覧

[VBA]近似曲線の数式取得

netz-eng

総合スコア105

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/02/09 07:48

前提・実現したいこと

Excel VBAで、多項式近似を行ったデータの近似曲線の数式を取得したいのですが、うまくいきません。
ネットで調べた以下の方法を試してみました。

該当のソースコード

VBA

1Dim Cht as Chart 2Dim Fml as Variant 3 4Set Cht = ActiveSheet.Shapes.AddChart2(240, xlXYScatterLine).Chart 5 6'ここでグラフにデータを入力し、多項式近似曲線とその数式を表示 7 8Fml = Cht.FullSeriesCollection(1).Trendlines(1).DataLabel.Text

グラフ上に近似曲線の数式を表示することはできたのですが、Fmlの中身が空白で返ってきてしまいます。
参考にしたサイトでは、これで数式の文字列を取得できると記載されていたのですが、うまくいきません。

このほか、該当部分を下のコードに書き換えて試してもみましたが、結果は同じでした。

VBA

1Fml = Cht.FullSeriesCollection(1).Trendlines(1).DataLabel.Format.TextFrame2.TextRange.Characters.Text

どなたか詳しい方、教えていただければ幸いです!
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

https://docs.microsoft.com/ja-jp/office/vba/api/excel.datalabel(object)
より引用

近似曲線の場合、 DataLabel プロパティは近似曲線に表示されるテキストを返します。 返される文字列は、方程式か R-2 乗値で、両方が表示されているときは両方が返されます。 次の使用例は、数式だけが表示されるように近似曲線の文字列を設定し、 Sheet1という名前のワークシートのセル A1 にデータラベルの文字列を配置します。

With Charts("chart1").SeriesCollection(1).Trendlines(1) .DisplayRSquared = False .DisplayEquation = True Worksheets("sheet1").Range("a1").Value = .DataLabel.Text End With

https://tonari-it.com/excel-vba-chart-setsourcedata/
より引用
Refreshメソッドで表示を更新する
DoEventsを二回入れる理由

数式取得前に一呼吸入れてみては?

投稿2020/02/09 12:29

編集2020/02/10 05:11
sinzou

総合スコア392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

netz-eng

2020/02/10 07:33

同じようにやってみましたが、残念ながら取得できません……
netz-eng

2020/02/10 07:35

Refreshは思い付きませんでした 今手元にないので、後日やってみます!
netz-eng

2020/02/17 02:16

RefreshとDoeventsを使って試してみましたが、取得できませんでした。 解析の都合上、多項式近似から対数近似を使うことになったので、SLOPE関数とINTERCEPT関数を使って係数と切片を求める方向にシフトしようと思います。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問