[[20030701194858]] 『100%達成ポップアップで[おめでとう]表示』(YUTA) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『100%達成ポップアップで[おめでとう]表示』(YUTA)

100%達成するとポップアップなどで”おめでとう”など言葉を表示するようにしたい。

実績管理シートを作っていますが、達成率の項目が100%になったら絵とか動画とかポップアップなどで”おめでとう”などを表示したいのですができますか?


 エクセルの基本機能ではできません、多分。

 VBAを組めばできますが、マクロはどの程度わかりますか?
 ↓[ライブラリ(e1nw)VBA体験]に書いてあるとおりにやれますか?
   (kazu)
http://www.excel.studio-kazu.jp/lib/e1nw/e1nw.html

ありがとうございます。マクロは??です。アドレスのことをやってみましたが
なぜか構文をそのままコピーしてやってみましたがコンパイルエラーで進みません。
これができないと難しいでしょうか・・・

 「ポップアップ」は思いつきませんでしたが、以下の方法ではいかがでしょう?
 a)あるセルに[おめでとう]と表示する。
  普段は白色なのにこのときだけ、指定した文字のサイズや色、セルの塗色などで表示することができます。
  →条件付書式を使います。
   表示したい部分のセルに「おめでとう」と入力しておき文字色を白にします。
   そのセルを選択した状態で「書式」−「条件付書式」を選択します。
   条件1で、「数式が」を選択して、その右に =A1>=100 と入力します。
   その後、書式ボタンを押して、フォントの色とパターンの色を設定します。
   A1セルの値が100またはそれ以上になったら、その書式に従って文字が表示されます。
 b)上記a)をシートのどこかで実施しておいて、そのセルを「図のリンク貼り付け」する。
  →表示させるセルの境界に制約されず、表示させることができます。
 ※セルをコピーした後、Shiftを押しながら「編集」をクリックすると、メニューに「図のリンク貼り付け」現れます。
 (ちゅうねん)

 そうですよね。セルに表示させるのがお勧めです。

 いやーっ。
 偉そうに書いたのに、申し訳ないです。

 今まで(e1nw)のコードに問題があると気がつきませんでした。(ここ数年間)
 Webの方も手直ししましたので、試してください。
 (kazu)

 Sub FontColr()
 For n = 1 To 5
 Selection.Font.ColorIndex = n
 ActiveCell.Offset(1, 0).Select
 Application.Wait Now() + TimeValue("00:00:01")
 Next n
 End Sub

 懺悔ついでに、メッセージを表示させるコードを。

 ' 単純に100%達成と表示するユーザー関数
 ' ワークシート側は =if(A1>=100,ufmsg1(),"") などと入力します
 Function ufmsg1()
    MsgBox "目標を100%達成しました。おめでとう!"
    ufmsg1 = ""
 End Function

 ' 指定したメッセージを表示するユーザー関数
 ' ワークシート側は =if(A1>=100,ufmsg2("よくできました!"),"") などと入力します
 Function ufmsg2(msg)
    MsgBox msg
    ufmsg2 = ""
 End Function

(ちゅうねん)さんありがとうございます。
書式設定の件 簡単にできました(リンクもいいですね。。)

(kazu)さんありがとうございます。
訂正していただいたマクロ動きました。おもしろいですね。。
でもせっかく追加していただいたコードは勉強不足でよくわからなく奮闘中
同じようにやればいいんですよね・・・
ワークシートのセルに=if(A1>=100,ufmsg1(),"") ←これをいれて
マクロも入れてみたのですが、#NAME?と表示されてしまいます。


 再度確認しますが、

 (1)下のコードをFunction からEnd Function まで選択してコピーして、
 VBEの世界で[挿入]メニュー→[標準モジュール]で、白紙に貼り付け。

 Function ufmsg1()
    MsgBox "目標を100%達成しました。おめでとう!"
    ufmsg1 = ""
 End Function

 (2)ワークシートで、セルA1に100と入力します。
 (3)ワークシートで、セルB1に =if(A1>=100,ufmsg1(),"") と入力します。

(kazu)


たいへん!!!!ありがとうございました。うまく動きました。
いいものができそうです。 営業にやる気が出そうです。

ちなみに これが字ではなくクリップアートなんぞも表示が可能なのでしょうか・・


 こんにちは、横から失礼します。質問当初から興味深く拝見してました。
 クリップアート表示は思いつきませんが、面白そうなのを見つけました。
 Animation の部分はヘルプの、まるごと借用です。
 Wave Sound をつけようと思いましたが私には無理みたいですね。
 Excel & VBA 見習い中の (jun53)

 Function ufmsg2(msg)
     MsgBox msg
     ufmsg2 = ""
 With Assistant
     .On = True
     .Visible = True
     .Move xLeft:=400, yTop:=300
     .MoveWhenInTheWay = True
     .TipOfDay = True
     .Animation = msoAnimationGreeting
 End With
 End Function

 提案ありがとうございます。いるかのカイルが宙返りしてくれました。
 感謝。
 (kazu)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.