« あまりに痛いナンパ | トップページ | 今月の言い訳 »

2008.11.30

3の倍数か3がつく数字かどうかマクロ

 今年、世界のナベアツ(渡辺鐘、渡辺あつむ)さんが「完全に売れかけて」(ご本人談)いました。「2008年ユーキャン新語・流行語大賞」にも「世界のナベアツ」としてノミネートされています。
 ナベアツさんの代表的な持ちネタに「3の倍数と3が付く数字のときだけアホになります」というものがあります。このネタは好評を博し、お子さまを中心にして、各地で「さぁ~~ん!!」という声がこだましていたようです。

 ナベアツさんは、1から順番にカウントしていき、普段は「40! オモロー!!」で締めくくっています。これを真似した場合、2桁の数字くらいならば、アホになるかどうか判別しやすいのですが、暗算が得意でなければ、カウントする数字が増すにつれ、だんだんと苦しくなってきます。

 そこで、アホになるべきか否かを判別するMS-Excelのマクロを作ってみました。私自身数字が得意でなく、プログラミングの知識がかなり未熟で、なおかつ、お手軽に作ったものなので、非効率的だったり、不備がある可能性が高いです。ご容赦の上、ご利用くだされば幸いです。

――――――――――

1.セル"A1"に入力規則を設定します。
 判別する数字を、Excelで普通に計算できる範囲に収め、入力エラーや指数表示にしたくないので、「入力規則」を設定します。

 メニューから[データ]→[入力規則]→[設定]タブ
 入力値の種類:整数
 データ:次の値の間
 最小値:1
 最大値:2147483647

 [エラーメッセージ]タブ
 スタイル:停止
 タイトル:入力エラー
 エラー メッセージ:1~2,147,483,647の整数を入力してください

3の倍数と3が付く数字のときマクロ・1

3の倍数と3が付く数字のときマクロ・2

2.コマンドボタンの作成します。
 [コントロール ツールボックス]ツールバーを表示して、[コマンドボタン]を選択。
 任意の場所に「コマンドボタン」を作成。
 [コマンドボタンのプロパティ]
 オブジェクト名:q_three
 Caption:1。2。…

3の倍数と3が付く数字のときマクロ・3

3.[Visual Basic]ツールバーから、[Visual Basic Editor]を起動
 以下のコードを入力します。

3の倍数と3が付く数字のときマクロ・4

―――――

 (General)(Declarations)

 Sub call_three()
'3の倍数か3が付く数字の時
  MsgBox "さぁ~~ん!!", vbOKOnly, "アホになる!"
  End
 End Sub

―――――

 q_three Click

 Private Sub q_three_Click()
 Dim num As Long
 Dim string_num As String
 Dim i As Integer

 num = Range("a1").Value
 string_num = Str(num)
 i = Len(string_num)

'3が付くかどうか
 Do While i > 0
  If "3" = Mid$(string_num, i, 1) Then
  call_three
 End If
 i = i - 1
 Loop

'3の倍数かどうか
 If 0 = num Mod 3 Then
  call_three
 End If

'3の倍数でも3が付く数字でもない
 MsgBox "…", vbOKOnly, "普通"

 End Sub

―――――

4.実行します。
 セル"A1"に1~2147483647までの整数を入力、確定してから、作成した[1。2。…]コマンドボタンをクリックします。

 3の倍数と3がつく数字の時には左のメッセージボックス、そうではない時には右のメッセージボックスが表示されます。

3の倍数と3が付く数字のときマクロ・5

 [OK]ボタンをクリックすると、メッセージボックスが閉じます。再度、判定をする時は、セル"A1"に数値を入力→コマンドボタンをクリック、を行ってください。

 入力値が不適切である場合は、以下のメッセージボックスが表示されます。

3の倍数と3が付く数字のときマクロ・6


 ※【使用上の注意】※
 このマクロの実行により発生した障害に対して、私は一切の責任を負いかねます。全て使用される方個人の責任に基づくものといたします。
 本記事の内容を実行するに当たり、MS-Excel及びExcelVBAの基本操作に関するご質問には、お答え致しかねる場合があります。
 以上、ご了承ください。

――――――――――

 新語・流行語大賞の発表は、明日、12月1日です。今年を表わすことばがどれになるのか…、楽しみですね。


人気blogランキング

ほめられて伸びるタイプなので、押していただけるとすごく喜びます。

|

« あまりに痛いナンパ | トップページ | 今月の言い訳 »

コメント

この記事へのコメントは終了しました。

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/44489/43270057

この記事へのトラックバック一覧です: 3の倍数か3がつく数字かどうかマクロ:

« あまりに痛いナンパ | トップページ | 今月の言い訳 »