Excel VBA質問箱 IV

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

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


12147 / 76734 ←次へ | 前へ→

【70113】Re:EXECL2007でのオートシェイプ
回答  UO3  - 11/10/16(日) 6:51 -

引用なし
パスワード
   ▼じょにー さん:

おはようございます

2010で記録すると以下のようになります。これは2003でも同じです。
配置する場所は適当です。また、「円」も「楕円」もシェープとしては「楕円」です。
設定する幅、高さの比率を1:1にすると「円」になります。

Sub Macro1()
'
' Macro1 Macro
'

'
  ActiveSheet.Shapes.AddShape(msoShapeOval, 240.75, 150.75, 72, 72).Select
  Selection.ShapeRange.Fill.Visible = msoFalse
  With Selection.ShapeRange.Line
    .Visible = msoTrue
    .Weight = 0.25
  End With
End Sub

なお、「ドーナッツ」は、msoShapeOvalのところをmsoShapeDonutにします。
240.75, 150.75, 72, 72 これは挿入する図形の左横位置、上辺位置、幅、高さのポイント値です。

で、ダブルクリックした時に、その場所にということですとシートモジュールのイベントを
使うことになると思いますね。そのあたりはご存じかもしれませんが、参考コードとして以下。

これらを組み合わせるとお望みのコードができますね。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Cancel = True
  MsgBox "ダブルクリックされたセルは" & Target.Address & "です" & vbLf & _
    "そのセルの左横位置、上辺位置、幅、高さは以下の通りです。" & vbLf & _
    Target.Left & "/" & Target.Top & "/" & Target.Width & "/" & Target.Height
End Sub

4 hits

【70103】EXECL2007でのオートシェイプ じょにー 11/10/15(土) 15:12 質問
【70106】Re:EXECL2007でのオートシェイプ UO3 11/10/15(土) 18:59 発言
【70112】Re:EXECL2007でのオートシェイプ じょにー 11/10/16(日) 3:44 質問
【70113】Re:EXECL2007でのオートシェイプ UO3 11/10/16(日) 6:51 回答
【70116】Re:EXECL2007でのオートシェイプ じょにー 11/10/16(日) 8:02 お礼
【70117】Re:EXECL2007でのオートシェイプ UO3 11/10/16(日) 12:23 回答
【70118】Re:EXECL2007でのオートシェイプ じょにー 11/10/16(日) 12:46 お礼
【70108】Re:EXECL2007でのオートシェイプ UO3 11/10/15(土) 19:13 発言

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