(4)Excel2007のチャート不具合の件

Excel2007の株チャートで不具合が発生する件は質問ではありませんが、Webページに書き込みがあったので ここに回答を掲載

【1】 概略


この本の目次の次のページを開くと本文の最初が左図となります。

トップページにExcel2007で不具合発生のツールは「×」マークでハッキリ明示し、不具合の内容は次のページに 書いてあります。

このバグはマイクロソフト社も認識しており(自分で問い合わせ確認済み)、そのうち直ると思うが、 2007年12月20日のSP1では修正されていないが、次のService Pack 2で直ることを期待しているが時期については判らない。

SP1が12月だったのでSP2も1年後の2008/12月に出て、HPのお知らせのコーナーで「SP2をインストールすればExcel2007チャート不具合は直ります」と記載でることが理想であったが現在(2009/1/18)その見通しがつかないので、アマゾンのコメントにあった「対応を取っている様子がありません」の不満に対し、Excel2007のバグを自分で直すことができないので、「長い物にには巻かれろ」で無理やりバグ対応マクロを作りました。

問題が発生する第2軸のデータのみ行を入れ替える手荒な対処方法ですが、これでExcel2007でのチャートは正常表示に見えます。 Excel2007で本誌のサンプルツールを使用する方は、各ツールの「チャート作成」プロシージャを下記(3)のマクロに変えて下さい。

---------------------------------------------------
チャート不具合の件は特にエラー発生はなくマクロは正常に終わってしまいます。しかし、過去に2007はエラー発生でデータを取得出来ないと言うメールを頂いたことがあります。
その場合は以下の回答で解決しました。
[1] 2003も2007も同じですがテーブル位置の変更が必要です。
  現在のテーブル位置を参照して下さい。

[2] もしIE7を使用の場合は「一時ファイル削除」が必要です。
  IE7で不具合の件を参照して下さい。



【2】 不具合内容と対策
図1 Excel2003で描いた正常チャート


実際はラベルを表示していま
せんが、2007の不具合説明
の関係でラベル値を付けました。

当然ですが、折れ線とラベル値
の表示は合っています。



図2 Excel2007で描いた異常チャート


図1と比べ乖離率の折れ線は
左右逆になっています。

図1と比べ乖離率のラベル値
は合っています。

したがって、折れ線の位置と
ラベルが異なる件は誰が考
えてもExce2007のバグです。

これを直せるのはマイクロ
ソフト社のアメリカの技術部門
だけかな?



図3 対策済みマクロでExcel2007で描いた正常に見えるチャート
図1と比べ乖離率の折れ線
は合っています。

図1と比べ乖離率のラベル値
は左右逆になっています。

通常ラベルは表示していないので
折れ線が正常になればそのチャート
は正常に見えるので、今回のマクロ
の無理やり改善とは、第二軸データ
を左右逆にしました。

したがって、第二軸のデータを
見ると本日が60日前のデータ
になっている等理解できない
意味不明のデータ値です。
2007の場合はチャートのみ見
てデータ値は目をつぶって下さい。


【3】 対策マクロのダウンロード
ダウンロードしたプロシージャを、各ツールの同じ名前のプロシージャに上書きして下さい。
このExcel2007バグ対策マクロは、バグが直るまでの仮のマクロです。バグが直った場合は2003と同じツールを使用して下さい。

t02-ローソク足.txt

t03-移動平均.txt

t04-乖離率.txt

t05-MACD.txt

t06-出来高大.txt

t07-出来高小.txt

t09-RSI.txt


【4】 バグの対処マクロ(2010/8/17)
バグの対処方法が判ったので、新本の「著者からのお知らせ」へ改善方法マクロを掲載しました。
(8)Excel2007のチャート第2軸逆表示バグの対処マクロ を参照して下さい。



(5)株価取得の自動記録が本に紹介通りにならない件2009年11月30日 11:10
Yahooファイナンスより日経平均の時系列データを,
http://stocks.finance.yahoo.co.jp/stocks/history/?code=998407.O
で取り込み、マクロの自動記録を実行し、結果を見たところ、「WebTables」だけが抜けているのです。
その他のプロパティはすべて揃っているのですが、WebTablesの表示がありません。

<回答>
こちらでも指摘の内容をチャックし、本の通りにならないことを確認しました。
これは、Yahooの仕様が変更になっていました。Excelから見ると1個のテーブルしか見えません。この質問は初めてであり気がつきませんでしたが多分ごく最近(2009/11月)に変わったのだと思います。

この本を書いていた時に使用していた下記アドレスで行って下さい。
http://table.yahoo.co.jp/t?s=5401.t&g=d
又は
http://table.yahoo.co.jp/t?s=998407.o&g=d
(コード番号は銘柄により変えること)

なお、時系列データを表示した時、表の下に「株価時系列データをもっと見る」のリンクがありますが、それをクリックで旧アドレスを表示します。



(6)KIkabu(MACD)で、何箇所か前日より高いOSCIの日に売り検討が表示されます201年01月23日 3:52
KIkabu(MACD)について質問ですがデフォルト設定でOSICで抽出にチェックを入れてWebから取得すると 何箇所か前日より高いOSCIの日に売り検討が表示されます。

<回答>
ご指摘の不具合を確認しました。これは抽出条件で「+5以下」と指定した場合+5以下は全部抽出しますが、最新日(抽出の次の日)も+5以下の場合は前の日の「売り検討」文字は削除していましたが、抽出の次の日が+5以上は更に上昇中であり「売り検討」文字の消去が必要でしたが漏れていました。

指摘されるまで気がつかず申し訳ありませんでした。Module10へ以下のピンク色箇所の追加をお願いします。

Sub MACD解析()
・・・
If kmem = 1 Then
            If Cells(i, 13) > kchk Then
                Cells(i, 7) = "買い検討"
                If Cells(i + 1, 7) = "買い検討" Then
                    Cells(i + 1, 7) = ""
                End If
            End If

            If Cells(i + 1, 7) = "買い検討" Then
                If Cells(i, 13) < kchk Then
                    Cells(i + 1, 7) = ""
                End If
            End If

        End If
・・・

If umem = 1 Then
            If Cells(i, 13) < uchk Then
                Cells(i, 7) = "売り検討"
                If Cells(i + 1, 7) = "売り検討" Then
                    Cells(i + 1, 7) = ""
                End If
            End If

            If Cells(i + 1, 7) = "売り検討" Then
                If Cells(i, 13) > uchk Then
                    Cells(i + 1, 7) = ""
                End If
            End If

        End If




【戻る】  【ホーム】