Office 365 Excel vba使用中の実行時エラー "-2147467259(80004005)"

Anonymous
2022-05-20T03:51:27+00:00

いつもお世話になっております。

表題の件です。Graphの色変更のvba記載のエラーに関してです。

vbaを使用して、fillでマーカーの色を変更しようとしたのですが、変更できませんでした。

Lineではできるのでfillのみの問題だと思うのですが、どのように記述したらよいでしょうか?

(ちなみにBrightnessの行をコメントアウトして、TintAndShadeを変更しても色変更ができませんでした)

テーマカラーを使用したく、マーカーの色をRGBではなくbrightnessで制御したいです。

ご回答よろしくお願いいたします。

以下 [エラーメッセージ] と [test用のmacro(マクロの記録より)]。

実行時エラー "-2147467259(80004005)"

'Brightness'メソッドは失敗しました。'colorFormat'オブジェクト

Sub Macro2()

'

' Macro2 Macro

'

'

ActiveSheet.ChartObjects("グラフ 3").Activate 

ActiveSheet.ChartObjects("グラフ 3").Activate 

ActiveChart.FullSeriesCollection(2).Select 

With Selection.Format.Fill 

    .Visible = msoTrue 

    .ForeColor.ObjectThemeColor = msoThemeColorAccent5 

    .ForeColor.TintAndShade = 0 

    .ForeColor.Brightness = 0.6000000238 

    .Transparency = 0 

    .Solid 

End With 

With Selection.Format.Fill 

    .Visible = msoTrue 

    .ForeColor.ObjectThemeColor = msoThemeColorAccent5 

    .ForeColor.TintAndShade = 0 

    .ForeColor.Brightness = 0.400000006 

    .Transparency = 0 

    .Solid 

End With 

End Sub

Microsoft 365 と Office | Excel | ビジネス向け | Windows

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

0 件のコメント コメントはありません
質問作成者が受け入れた回答
Anonymous
2022-05-23T01:37:24+00:00

結論から言うとバグと思われます。

 デザインから色を変えるとかグラフテンプレートを利用するのが良いかと。

 グラフ以外にセルやオートシェイプの塗りつぶしを記録してみましたが、

  1. セルの場合は Range.Interior.TintAndShade が記録され正しく実行される。(Brightnessプロパティは無い)
  2. オートシェイプの場合は
    ShapeRange.Fill.ForeColor.Brightness が記録され、TintAndShadeは常に0だが、TintAndShadeにBrightnessの値を設定しても同じ挙動を示す。
    ただし(これは記録されたものではないが)Shape.Fill.ForColor だとBrightness が本来のTintAndShadeとして扱われるようで、TintAndShadeの方はよくわからない違う結果になる。
  3. グラフのマーカーについては記録はオートシェイプと同じ状況だが、TintAndShadeもBrightnessも正常に機能しないどころかBrightnessでは実行時エラーになる。ちなみに記録したマクロが正常に動かないというのは(経験的に)まれにあります。

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

2 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2022-05-23T04:04:41+00:00

    承知しました。

    今回はあきらめてほかの方法探したいと思います。

    回答ありがとうございました!

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

    0 件のコメント コメントはありません
  2. Anonymous
    2022-05-20T05:52:42+00:00

    回答ありがとうございます。

    Unprotectを挿入してみるという認識であっているでしょうか?

    依然としてerrorが出ます。。。

    >どこでエラーになるのでしょう?

     ' .ForeColor.Brightness = 0.6000000238

     この1行を削除すれば動くのでおそらくこの行かと。。。

    ちなみにグラフは(散布図の平滑線とマーカー)です。

    以下macro作成しなおしましたが、エラー発生中です。

    Sub Macro1()

    '

    ' Macro1 Macro

    '

    ThisWorkbook.ActiveSheet.Unprotect

    '

    ActiveSheet.ChartObjects("グラフ 1").Activate 
    
    ActiveChart.FullSeriesCollection(2).Select 
    
    With Selection.Format.Fill 
    
        .Visible = msoTrue 
    
        .ForeColor.ObjectThemeColor = msoThemeColorAccent2 
    
        .ForeColor.TintAndShade = 0 
    
        .ForeColor.Brightness = 0.6000000238 
    
        .Transparency = 0 
    
        .Solid 
    
    End With 
    

    End Sub

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

    0 件のコメント コメントはありません
  3. Anonymous
    2022-05-20T05:30:26+00:00

    Excel 2016ですが、適当なグラフを作って上のコードを(「グラフ 1」に変えて)そのまま実行したらすんなり動きました。

     どこでエラーになるのでしょう? ちなみに以下には該当しませんか?

    グラフのプロパティを設定するときに実行時エラー-2147467259 (80004005)

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

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