ExcelVBAで条件分岐を行い、得られた回答によって画像(マイクロソフトオンラインのクリップアートからダウンロードできるアニメーション)を表示させたいと思います。具体例→「テキストボックスに入力した数値が1~2未満ならばAのアニメーション、2~5未満ならばBのアニメーションを表示、5~8未満ならばCのアニメーションを表示、8~10ならばDのアニメーションを表示、何も入力してなければ表示しない」 というようなマクロです。VBAを使わないで、関数のみで文字を表示することはできますが、できればVBAでアニメーションや画像を表示させたいのです。よろしくお願いします。バージョンはExcel2003で、OSはWindowsXPです。

回答の条件
  • 1人3回まで
  • 登録:2008/07/26 10:29:36
  • 終了:2008/07/27 20:38:09

回答(2件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/07/26 11:20:34

ポイント35pt

コマンドボタンを押下することで、ご質問にあるような処理をするVBAマクロをご紹介します。

テキストボックスの値は小数でも対応できるようにしてありますが、範囲外の数値が入力された場合は何も表示しません。

  1. まず、"text1" という名前のテキストボックスと、"cmd1" という名前のコマンドボタンを用意してください。
  2. 同じシートに "WebBrowser1" という名前のMicrosoft Web Browserコントロールを用意してください。設置手順は「Microsoft Web Browser コントロールをフォームに貼る」を参考にしてください。このコントロールを使わないと GIF アニメを再生できません。
  3. VBAコードは以下の通りです。ファイル名A~Dは、ダウンロードしたアニメーションGIFファイルのフルパス名に置き換えてください。
Private Sub btn1_Click()
    v = Val(text1.Value)
    If (v >= 1 And v < 2) Then
        WebBrowser1.Navigate "ファイル名A"
    ElseIf (v >= 2 And v < 5) Then
        WebBrowser1.Navigate "ファイル名B"
    ElseIf (v >= 5 And v < 8) Then
        WebBrowser1.Navigate "ファイル名C"
    ElseIf (v >= 8 And v < 10) Then
        WebBrowser1.Navigate "ファイル名D"
    End If
        
End Sub
id:Yhiroro180

いつもご回答ありがとうございます。アニメーション表示には「Microsoft Web Browserコントロール」が必要なのですね。初めて知りました。

2008/07/26 16:08:09
id:taknt No.2

きゃづみぃ回答回数13481ベストアンサー獲得回数11982008/07/26 11:44:48

ポイント35pt

VBAで画像の表示を行うには、

Shapes("Picture 1").Visible = True

とすればいいでしょう。

ちなみに 画像の名前は "Picture 1"となっていますが、これは 変更してください。

表示しないようにするには

Shapes("Picture 1").Visible = False

としたらいいですね。

id:Yhiroro180

ご回答ありがとうございます。画像は大丈夫ということですが、マイクロソフトオンラインのアニメーションも可能でしょうか。申し訳ありません。コードは初心者なので、読んだだけでは???があります。

2008/07/26 16:10:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません