• ベストアンサー

VBA オートシェイプについて

画像(マスコット)をクリックすると コメント(オートシェイプ)が出現する! ↑ そんな事は出来るのでしょうか? 例えば、フォームを使ったら簡単なのですが・・ 楕円形でいかにもしゃべっている感じにしたいのですが・・ 是非、教えて下さい! お願いします

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

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

質問者の意図どおりかどうか、判りにくいが Sheet1において、表示ーツールバーーコントロールツールボックスーイメージ でImageコントロールを1つ貼り付ける。 マクロの記録では(例) Sub Macro2() ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _ DisplayAsIcon:=False, Left:=291.75, Top:=204, Width:=90, Height:=55.5 _ ).Select End Sub そして Pictureに画像を設定する。 ーー そして オートシェイプー噴出しー適当な種類を選択 マクロの記録を少し修正した例例 Sub Macro1() l = Worksheets("Sheet1").Image1.Left + Worksheets("Sheet1").Image1.Width t = Worksheets("Sheet1").Image1.Top h = Worksheets("Sheet1").Image1.Height ActiveSheet.Shapes.AddShape(msoShapeRectangularCallout, l, t, 100, _ h - 20).Select Selection.Characters.Text = "彼氏の写真" End Sub ーー そしてImage1のクリックイベントに Private Sub Image1_Click() s = Worksheets("Sheet1").Shapes(3).Name If Worksheets("Sheet1").Shapes(s).Visible = False Then Worksheets("Sheet1").Shapes(s).Visible = True Else Worksheets("Sheet1").Shapes(s).Visible = False End If End Sub Shapes(3).の3は適宜自分の場合に合わせること。 ーー 以上でSheet1上のImage1をクリックすると、吹き出しが現れたり、消えたり交互に繰り返す。

pop2003
質問者

お礼

ありがとうございます! 上手く出来ました!

pop2003
質問者

補足

ありがとうございます! Shapes(3).の3は適宜自分の場合に合わせること。 ↑ これはどういう意味なのでしょうか?すいません 教えて下さい! ちなみにこれはエラー表示になってしまいます。

その他の回答 (3)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

コードの全文を載せていただくと良かったのですが、 If文は下記のような構造になっていますか? If・・・Then   '処理 Else   '処理 End If VBAの基本操作(制御構造) http://orakumiko.hp.infoseek.co.jp/vbamanu/chapter2.html

pop2003
質問者

お礼

ありがとうございました! 解決できました!

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

>回答番号:No.1 この回答への補足 試されたコードを拝見できないでしょうか。 全文掲載してください。

pop2003
質問者

補足

Activesheet.Shapes("セリフ1").Visible = False Else←のIFがないと!エラーが表示されます! どうしてでしょうか? すいません。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

円形吹き出しを描画し、名前を付ける(例:セリフ1) マクロで、円形吹き出し(セリフ1)を、表示/非表示する例 If Activesheet.Shapes("セリフ1").Visible = False Then '非表示 Activesheet.Shapes("セリフ1").Visible = False Else '表示 Activesheet.Shapes("セリフ1").Visible = True End If 上記のようなマクロを、画像(マスコット)に「マクロの登録」する。 ざっと以上のような事で、画像(マスコット)をクリックする度に、図形(セリフ1)が表示/非表示されるように出来ます。

pop2003
質問者

補足

早速の回答ありがとうございます。 すいません!初心者です! どうしてもエラー表示になってしまいます! もう少し詳しくお願いします!

関連するQ&A

専門家に質問してみよう