• ベストアンサー

Excelでオートシェイプを条件によって貼り付けることは可能でしょうか?

Excelであるセルに入力した値に条件をつけて、その条件によって特定のセルにオートシェイプ(楕円など)を貼り付けることは可能でしょうか? アドバイスよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

可能です。 たとえば、セルA1に1を入力するとB2に楕円を入れます。 Private Sub Worksheet_Change(ByVal Target As Range) If Target <> Range("A1") Then Exit Sub If Target.Value = 1 Then With ActiveSheet.Range("B2") ActiveSheet.Shapes.AddShape(Type:=msoShapeHeart, _ Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height).Select 'B2に、楕円形のオートシェイプを作成する End With End If End Sub

lovekouhei
質問者

お礼

ご回答ありがとうございます。 マクロはできるのですが、VBAはまだ勉強を始めたばかりで簡単なことしかわからないのですが、がんばってやってみます。 ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

VBAでは可能です。回答が出ています。 しかし良くOKWEBの質問者にあるように、「関数で」出きないかと思っているのでしたら、出来ません。 エクセルの関数はあくまでも、セルの値を使って(判別も含む)「値を返す」(TRUE、FALSEと言う値も含めて)仕組みになってます。

lovekouhei
質問者

お礼

ご回答ありがとうございます。 やはり関数ではできないのですね。 VBAは勉強をはじめたばかりですが、がんばってみます。 ありがとうございました。

関連するQ&A