• ベストアンサー

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/17068)
回答No.2

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

lovekouhei
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • オートシェイプ

    オートシェイプで文字列を楕円で囲んだセルを別のせるに貼り付けると楕円がでてこないんですが良い方法を教えて下さい。 エクセル2003です。

  • EXCELのオートシェイプについて

    基本的なことをお聞きします・・・ WORDなどは、文字の上にオートシェイプを重ねたとき テキストとの関係の設定(背面・前面)ができますよね。 EXCELの場合は、セルに入ってるデータの上に オートシェイプを置いた時、テキストがオートシェイプの前に来るという概念はありませんよね? それはやはり「セル」というものが特殊なものだからですか? オートシェイプの塗りつぶしをなしにするか、 透明度を高くして、セルの文字が見えるようにする しか方法はないんですよね? 「なぜ??」と理由を聞かれたら どう説明してあげるのが適当ですか?

  • エクセルシートにたくさんのオートシェイプ、たとえば○がいくつもあります

    エクセルシートにたくさんのオートシェイプ、たとえば○がいくつもあります。この○を一つ一つ消すのはできるのですが、いっぺんに消すにはどうすればよいでしょうか。 各セルには文字が入力されているので、オートシェイプの○だけ消したいのです。 よろしくお願いします。

  • エクセル オートシェイプ

    こんばんは! エクセルのオートシェイプについての質問です。 会社の稟議書を作成していて、上のほうに、オートシェイプで部長や課長のハンコを押す欄を作ろうと思ったのですが、うまくいきません・・・ エクセルで罫線を引いて、セル内に文字を入れるのは簡単なのですが、オートシェイプで作成する場合は、どのようにしたらよいでしょうか・・・ 四角形を挿入して、縦に二本オートシェイプで直線を引いて、横にも一本オートシェイプで直線を引いて、それをグループ化したまではよかったのですが、テキストをどのように入れたらよいのか分かりません・・・ 右クリックしても、テキスト追加できず、悩んでいます・・・ どなたかお分かりでしたら、お願いいたします。

  • オートシェイプの○に条件付きで色付けできますか??

    Sheet1の複数のセルには日付が入っています。 これらには、条件付き書式で色付けするよう設定しています。 ・過ぎると赤   ・残り半年で黄   ・その他、青 この色付けを別のSheet2に作ったオートシェイプの楕円に同じように色付けしたいんです・・・・。 連動して色付けすることは可能でしょうか?? 実際は100箇所以上あります。 どなたかできるかたよろしくお願いします!! 2003エクセルです。

  • エクセルVBAオートシェイプがあったら、の書き方

    皆さんこんにちは。 エクセルVBAの初心者です。 IFを使った条件分岐が私には難しかったので SELECTCASEを用いてみようと思うのですが条件の書き方が分かりません。 やりたい事は セルA1が「文字が入っていない且つオートシェイプが入っていない場合」のみ アクション(オートシェイプ☆を貼る)を起こしたい、です。 イメージ的にこうなるかな?と思いコードを作成しましたが ケース2の「オートシェイプがあったら」という条件の書き方が分かりません。 Sub オートシェイプ貼り付け()   With ThisWorkbook.Worksheets("Sheet1")   Select Case True     Case .Range("A1").Value <> ""     Exit Sub     Case オートシェイプがあったら     Exit Sub     Case Else       オートシェイプ☆を貼る   End Select End Sub オートシェイプの有無を条件にするにはどのような書き方をすれば良いでしょうか?

  • エクセルでオートシェイプのコピー

    エクセル2000を使用しています。 セルの中に書き込んでいるオートシェイプをセルごとコピーしたいのですが上手くいきません。 普通はセルをコピーするだけで自動でオートシェイプもコピーされると思うのですが。

  • マクロでオートシェイプを表示したいのですが(泣)

    マクロが理解できない初心者です。 エクセルで書類を作成しているのですが 「特定のセルに入力された文字列を 楕円のオートシェイプで囲む」といった要領で 分類する項目が大量にある書類を作成することになり マクロの記録を使ってマクロを作成しようと試みたのですが うまくいかず、困っています・・・ VBAなどで記入してマクロを作るということは 検索してわかったのですが 勉強する時間的余裕がありません・・・ どなたかご教授ください おねがいします。 例 |新規|継続|といった項目のどちらかを分類するために 囲みたいセルをダブルクリックすると 楕円のオートシェイプで項目の文字列を囲むいう感じです。 ダブルクリックするとシェイプが表示され さらにダブルクリックすると非表示になるといったマクロが できないでしょうか?

  • エクセルのオートシェイプの内容を特定のセルにコピー

    エクセルのオートシェイプの内容を特定のセルにコピーしたいのです 詳しい流れとしては・・ ・エクセルシートの特定の列にはあらかじめ上から「(1)、(2)、・・(10)」と記入されている ・新規オートシェイプ(主に吹き出し)をシート上に作成 ・オートシェイプのテキストの内容を「(1) ・・・・・」と記入 ・記入が終了すると、記入されてあった番号と同じセル(この場合(1))にテキストの内容をコピーする ・続けて新規でオートシェイプを作成し、同様に「(2) ・・・・」と記入 という流れなのですが、わかりますでしょうか セルの内容をオートシェイプにコピーはわかるのですが、逆がわかりません。 宜しく御願いします

  • Wordでオートシェイプを使うときに

    1つの表に2行に2文字づつあらかじめ入力しています。 その後、統計をとったりして、該当するほうに○を使用と思い、 文字が2文字なのでオートシェイプを使用と思いますが、・・・ 中央ぞろえにしておいた文字がオートシェイプで囲むと上にあがったります。 どのようにオートシェイプの書式設定をすればいいのでしょうか? 福 岡  ←例えば、この時福岡を選択して、楕円形のオートシェイプ 大 分  をクリックすると、福岡と大分の両文字が一緒に上のほうに 移動してしまいます。(セル内で) 文字及び文字の間隔や上下の幅とかが変更されず、うまく楕円形で選択できるにはどうしたらいいかを教えてください。

専門家に質問してみよう