[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートシェイプ』(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
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.