Excel VBA質問箱 IV

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

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


63387 / 76732 ←次へ | 前へ→

【17941】Re:3次元棒グラフをマクロで描くには
発言  ichinose  - 04/9/10(金) 18:24 -

引用なし
パスワード
   ▼カド さん:
こんばんは。

>3次元の棒グラフをマクロで描きたいのですが、下記のマクロを実施すると、
>棒の右側面の大きさが合いません。
>
>どうすればよいか教えてください。
Adjustmentsオブジェクトの位置によって工夫しなければならないみたいですね!!

以下のコードを試してみて下さい。
'=========================================================
Sub Macro30()
'(x位置、y位置、幅、長さ)

  Call set_fund_shp(ActiveSheet.Shapes.AddShape(msoShapeCube, 50, 80, 15, 20))
  Call set_adj(ActiveSheet.Shapes.AddShape(msoShapeCube, 50, 70 + 4, 15, 10))
End Sub

上記とは違う標準モジュールに
'=================================================================
  Dim f_sz As Double 'widthとheightの小さい方のサイズ
  Dim adj As Double '調整値
  Dim l_u As Long '0:上端 1:左端
Sub set_fund_shp(shp As Shape)
  With shp
   If .Height <= .Width Then
    l_u = 0
    f_sz = .Height
   Else
    l_u = 1
    f_sz = .Width
    End If
   adj = .Adjustments.Item(1)
   End With
End Sub
'=====================================================================
Sub set_adj(shp As Shape)
  Dim s_l_u As Long
  Dim s_sz As Double
  With shp
   If .Height <= .Width Then
    s_l_u = 0
     s_sz = .Height
   Else
    s_l_u = 1
    s_sz = .Width
    End If
   If l_u <> s_l_u Then
    .Adjustments.Item(1) = f_sz * adj / s_sz
    End If
   End With
End Sub


もっともWidthが大きくなると(100とか200)他の事も考えなければなりませんが・・・。

取り合えず、確認してみて下さい。

1 hits

【17918】3次元棒グラフをマクロで描くには カド 04/9/10(金) 12:32 質問
【17919】Re:3次元棒グラフをマクロで描くには IROC 04/9/10(金) 13:01 回答
【17948】Re:3次元棒グラフをマクロで描くには カド 04/9/10(金) 20:52 お礼
【17941】Re:3次元棒グラフをマクロで描くには ichinose 04/9/10(金) 18:24 発言
【17962】Re:3次元棒グラフをマクロで描くには カド 04/9/11(土) 9:36 お礼
【17963】Re:3次元棒グラフをマクロで描くには ichinose 04/9/11(土) 10:42 発言
【17964】Re:3次元棒グラフをマクロで描くには 追伸 ichinose 04/9/11(土) 10:48 発言
【17969】Re:3次元棒グラフをマクロで描くには 追伸 カド 04/9/11(土) 17:06 お礼
【17980】Re:3次元棒グラフをマクロで描くには 追伸 ichinose 04/9/11(土) 22:05 発言
【17987】Re:3次元棒グラフをマクロで描くには ち... ichinose 04/9/12(日) 0:44 発言
【18061】Re:3次元棒グラフをマクロで描くには ち... カド 04/9/14(火) 9:46 お礼
【18094】Re:3次元棒グラフをマクロで描くには ち... ichinose 04/9/15(水) 7:34 発言
【18105】Re:3次元棒グラフをマクロで描くには ち... カド 04/9/15(水) 13:46 お礼
【18107】Re:3次元棒グラフをマクロで描くには ち... カド 04/9/15(水) 16:55 お礼
【18108】Re:3次元棒グラフをマクロで描くには ち... カド 04/9/15(水) 17:54 お礼

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