[[20070512110910]] 『オートシェイプ』(SAY) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートシェイプ』(SAY)
 マクロの勉強中で、色々模索しながらやっています。
 あるアクションをした時に「1」又は「0」を
 セルに出力させるのですが、(ここまではなんとかできました)
 その「1」又は「0」をオートシェイプに変換させることって
 できるのでしょうか?
 例えば、セルA1をダブルクリックすると「1」が出るのですが
 それを「1」では無くて、オートシェイプの四角とかに
 したいのです。
 同様に「0」の時三角等。

 入力した文字によって表示するシェイプを切り替えるのでしたら、
 シェイプを全て配置しておいて、
 ○.Visible = True
 ○.Visible = False
 を切り替えるようにすればいいと思います。
 (MARBIN)

 一つだけなら(しかも円ですが)、過去にこの様なご質問がありました。
[[20050514151949]]『マクロでオートシェイプを描く』(やん)

 (HANA)  


 マクロを使って,以下のようなのはどうでしょうか。
 切替は入っていません。
 (他の小生の回答より流用) (夕焼)

 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 

 hi = 1.5 ' 楕円高さのセル高さ倍率1.5位,適宜変更可能
 awide = ActiveCell.Width
 aheight = ActiveCell.Height
 aleft = ActiveCell.Left
 atop = ActiveCell.Top - aheight * (hi - 1) * 0.5

 'ActiveSheet.Shapes.AddShape(msoShapeHexagon, aleft, atop, awide, aheight * hi).Select
 'ActiveSheet.Shapes.AddShape(msoShapeCan, aleft, atop, awide, aheight * hi).Select
 'ActiveSheet.Shapes.AddShape(msoShapeArc, aleft, atop, awide, aheight * hi).Select
 'ActiveSheet.Shapes.AddShape(msoShapeDiamond, aleft, atop, awide, aheight * hi).Select
 'ActiveSheet.Shapes.AddShape(msoShapeFoldedCorner, aleft, atop, awide, aheight * hi).Select
 ActiveSheet.Shapes.AddShape(msoShapeIsoscelesTriangle, aleft, atop, awide, aheight * hi).Select
 'ActiveSheet.Shapes.AddShape(msoShapeOval, aleft, atop, awide, aheight * hi).Select
 Selection.ShapeRange.Fill.Visible = msoFalse
 ActiveCell.Select
 End Sub


すみません、まだ皆さんにご回答していただいた件、確認できていません! m(_ _)m
申し訳ありません!
(SAY)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.