皆様こんにちは。
ExcelVBAを使ってユーザーフォームを作っています(初心者)。
どうしてもわからないので教えてください。
ちなみに、以下のように組んでいます。
Private Sub 商品区分txt_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(商品区分txt) = False Then
MsgBox "商品区分は数値を入力してください", , "商品区分エラー"
Cancel = True
Exit Sub
End If
If 商品区分txt < 1 Or 商品区分txt > 100 Then
MsgBox "商品区分は1~100までの値で入力してください", , "商品区分エラー"
Cancel = True
Exit Sub
End If
End Sub
説明させていただくと、「単価変更」というボタンを配置しています。
そのボタンをクリックするとユーザーフォームが立ち上がります。
商品区分と単価変更率を入力するテキストボックスがあります。
両方を入力後「単価変更実行」というボタンを押すようになっています。
すると指定した商品区分の商品の単価が変更されるようになります。
ちなみに、「終了」ボタンもあります。
商品区分は1~100まであり、その範囲外の場合と数値以外が入力された場合はエラーメッセージがでるようになっています。
たとえば、商品区分に200を入力するとメッセージが出て次のコントロールにいけないようになっています。
そこで200を消します。そして、「とりあえず終了したい」となり、終了ボタンを押してもエラーメッセージが出てしまいます。
このメッセージは出したくありません。
出さないようにするにはどうしたらいいでしょうか?
BeforeUpdateじゃなく何か別のイベントを選ぶといいのでしょうか?
ちなみに、終了ボタンはUnload Meとしてあるので通常は閉じることは可能です。
長文ですみません。よろしくお願いします。
お礼
BLUEPIXYさん、ありがとうございました。 お礼が遅くなり申し訳ございませんでした。 (自宅PCが壊れていてインターネットカフェで週に1度しかネットチェックできない為遅れました) やはりほかのイベントでも難しいんですかね。 BeforeUpdate時にエラーを回避するステートメントを 記入したいと思います。 まだトライしていませんが、取り急ぎお礼まで。 ありがとうございました。