1,2,3のいずれかを入力できるようにするマクロを作成しようとしています。 。ユーザーが1,2、または3以外のものを入れた場合は、エラーメッセージがポップアップして、1,2、または3の入力を再度求められます。問題は私が得ることができないことです私はそれに1つ以上の条件を置くとループが働きます。複数の条件がある場合、私のループを働かせます。
Loop Until sinput <= 3 And sinput > 0
それが十分でなければなりません。ここに私のコードがある
Public Sub ForecastReport()
Dim sinput As Integer
Do
sinput = Application.InputBox("Please select 1 to 3 " & vbLf & vbLf & "1. GB IMCP" & vbLf & "2. IE IMCP" & vbLf & "3. US", "Enter a Value")
Select Case sinput
Case 1
MsgBox ("you have selected GB IMCP")
Case 2
MsgBox ("you have selected IE IMCP")
Case 3
MsgBox ("you have selected US")
Case Else
MsgBox ("wrong input")
End Select
Loop Until sinput <> 3
End Sub
は
OPは質問を英語で尋ねたので、あなたのコードが英語であることを確認したいかもしれません。他のユーザーは、コード(特にプロンプトやコメント)を理解するのが困難な場合があります。 –
SOは厳密にOPのためのものではなく、後で私たちの答えにつきまとう多くの人のためのものであることを覚えておいてください。 OP *はあなたのコードを読んでいるかもしれませんが(多分そうではないかもしれませんが)、つまずく人は、入ったときよりも混乱しているかもしれません。永続化の目的のために、少なくとも私たちの能力の最高に理解すること。また、変数はまだ別の言語になっています。変数は理想的に記述的でなければならないので、これは間違いなく可能な限り明確にしたいものです。 –
おかげさまで皆様のご協力をいただきました。 Eirik、私は少し混乱しています、あなたのコードのどの部分が扱っているのは、ユーザーが何も入力していないということです。申し訳ありませんが飛び出す場合 - 私は非常にこれに新しいです。 –