プロが教えるわが家の防犯対策術!

For...Next文をつかってボタン1を、押したら3.2.1.0.と順にカウントダウンするメッセージボックスが表示されるようなプログラムのコードを書きなさい。という課題が出たのですがわかりません。よろしくお願いします

質問者からの補足コメント

  • 作ってあります!

      補足日時:2016/07/15 19:39

A 回答 (4件)

>For...Next文をつかってボタン1を、押したら3.2.1.0.と順にカウントダウンするメッセージボックスが表示されるようなプログラムのコードを書きなさい。



VBAの問題としては、Step の使い方を覚えさせるためなのですが、課題の内容が、どこか間違えているようですから、もう一度、読みなおしてください。

#3さんの仰るとおりです。
そういう私は、そういうコードは、Excelでは作ったことがないような気がします。

今回は「メッセージボックス」と、カタカナで書いていますから、そこであえて、「メッセージボックス」を使ってみました。

たぶん、私のは提出できません。学校では教えないからです。
ボタンは、フォームコントロールのボタンを使います。

'//

#If VBA7 And Win64 Then
'64bit
Private Declare PtrSafe Function MessageBoxTimeoutA Lib "user32" (ByVal hWnd As Long, _
   ByVal lpText As String, ByVal lpCaption As String, ByVal uType As Long, ByVal _
   wLanguageId As Long, ByVal dlliseconds As Long) As Long
#Else
Private Declare Function MessageBoxTimeoutA Lib "user32" (ByVal hWnd As Long, _
   ByVal lpText As String, ByVal lpCaption As String, ByVal uType As Long, ByVal _
   wLanguageId As Long, ByVal dlliseconds As Long) As Long
#End If
Sub ボタン1_Click()
Dim i As Long
For i =3 To 0 Step -1
  MessageBoxTimeoutA 0&, CStr(i), "msgbox", vbMsgBoxSetForeground, 0, 800
Next i
  MessageBoxTimeoutA 0&, "Bom!", "msgbox", vbMsgBoxSetForeground, 0, 1000
End Sub
    • good
    • 0

メッセージボックスって、OKボタンを押さないと引っ込まないですよね?


ということは、ボタン1を押すとメッセージボックスで「3」を表示し、OKを押すと再度メッセージボックスで「2」を表示し・・・ということですか?・・・随分、ショボい課題ですね?
課題の内容と質問の内容に齟齬は無いですか?
    • good
    • 0

以下のようにして下さい。


-----------------------------------
Private Sub CommandButton1_Click()
Dim i As Long
For i = 3 To 0 Step -1
MsgBox (i)
Next
End Sub
-----------------------------------
CommandButton1はあなたのボタン1の名前です。
デフォルトではCommandButton1になっています。あなたの環境にあわせてください。
ボタンの名前_Click()というプロシージャ名になっていればOKです。
    • good
    • 0

ボタン1は、もう、つくってありますか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!