|
▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>>> A B C
>>>>1 14:00
>>>>2 18:00
>>>>3 22:00
>>>以上のようなものです。
>>
>>Sheet4の内容はわかりましたが、それは、日付型で入力していますよね?
>>
>>>>ListBox1のRowSourceプロパティの値を教えてください。
>>
>>ということも聞いているのですが、いかがでしょうか?
>>
>>> ListBox1にNullがはいってしまいます。
>>
>>もしかして、
>>stjikoku = ListBox1
>>で「型が一致しません」というエラーになりませんか?
>>それは、ListBox1 で、値の一覧から選択していますか?
>>選択していない場合は、上記のエラーが出て ListBox1 は Null というより ""
>>という値が格納されます。
>>Dim stjikoku As Date
>>と宣言されているので、「型が一致しません」というエラーになると思います。
>>
>>それとも、選択しているのに、Null が入るということですか?
>
>事象がわかりました。
>「Nullの使い方が不正です」というエラーが出るのですね?
>それは、やはりListBox1で選択していないときに限定されていると思います。
>
>なんとなく、MsgBox がしつこい感じはしますが、以下のような修正するといかがですか?
>
>ポイントは★の行です。(kanabunさんとかぶりますが・・・)
>☆の行は変更箇所です。
>
>Private Sub CommandButton2_Click()
> Do
> mymsg = "No.1サイロの投入時間をリストボックスより選択して下さい"
> mytitle = "投入時刻"
> mybtn = MsgBox(mymsg, vbOKCancel + vbInformation, mytitle) '☆
> If mybtn = vbCancel Then Exit Do '☆
> If ListBox1.ListIndex > -1 Then '★
> stjikoku = ListBox1
>
> mymsg = "No.1サイロの投入時刻は" & stjikoku & "ですね"
> mytitle = "投入時刻"
> mybtn = MsgBox(mymsg, vbYesNo + vbQuestion, mytitle)
> If mybtn = vbYes Then
> Worksheets("Sheet3").Range("D9").Value = stjikoku
> End If
> End If '★
> Loop
>End Sub
かみちゃん さん
ありがとうございます。
早速試してみました結果、
mymsg = "No.1サイロの投入時刻をリストボックスより選択して下さい"
OKクリックで進まず、cancelクリックで
mymsg = "No.1サイロの投入時間をリストボックスより選択して下さい"
OKクリックでListBox1選択可能になり、時刻選択後CommandButton2
クリックでmymsg = "No.1サイロの投入時刻をリストボックスより選択して下さい"
OKクリックでmymsg = "No.1サイロの投入時刻は" & stjikoku & "ですね"
はいクリックでmymsg = "No.1サイロの投入時刻をリストボックスより選択して下さい"
OKクリックでmymsg = "No.1サイロの投入時刻は" & stjikoku & "ですね"
はいクリックでmymsg = "No.1サイロの投入時刻をリストボックスより選択して下さい"
OKクリックでmymsg = "No.1サイロの投入時刻は" & stjikoku & "ですね"
以下繰り返し、いいえでmymsg = "No.1サイロの投入時間をリストボックスより選択して下さい"に進めました。
私はDO Loopはあまり使ったことがないのでご教授願えれば幸いです。
|
|