マクロで図形の塗りつぶしを行うと 「指定された値は境界を越えています」 のエラーになります

Anonymous
2015-11-27T23:33:03+00:00

Excel 2013を使用してシート上にある図形に対して,

マクロ内で指定した色で塗りつぶしを行うというマクロを生成しています。

しかしマクロを実行すると「指定された値は境界を越えています」という

エラーメッセージが表示されます。

なおマクロは以下のように実装しています。


Sub hoge()

    Call 塗りつぶし(255, 153, 51)

End Sub

Private Sub 塗りつぶし(R As Long, B As Long, G As Long)

    ActiveSheet.Shapes("土台1").Fill.ForeColor.SchemeColor = RGB(R, G, B)

    ActiveSheet.Shapes("土台2").Fill.ForeColor.SchemeColor = RGB(R, G, B)

End Sub


なおマクロを実装しているファイルでは複数のシートが存在し,

シートごとにマクロの標準モジュールを分けています。

最初の方のモジュールにも上記と同様の塗りつぶし処理が存在しますが,

こちらについては図形の塗りつぶしに成功します。

何が原因でエラーが発生しているかわかるでしょうか。

"**モデレーター注**

タイトルを編集しました。

編集前タイトル : マクロで図形の塗りつぶしを行うとエラーになります "

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2015-11-28T09:46:04+00:00

    ActiveSheet.Shapes("土台1").Fill.ForeColor.SchemeColor = RGB(R, G, B)

    ActiveSheet.Shapes("土台2").Fill.ForeColor.SchemeColor = RGB(R, G, B)

    を

    ActiveSheet.Shapes("土台1").Fill.ForeColor.RGB= RGB(R, G, B)

    ActiveSheet.Shapes("土台2").Fill.ForeColor.RGB= RGB(R, G, B)

    としたら着色できました。

    http://www.happy2-island.com/excelsmile/smile03/capter01209.shtml

    ここに

    「Fill.ForeColor.SchemeColorプロパティ と Fill.ForeColor.RGBプロパティ の違い」についての解説があります。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません