Board logo

標題: INPUTBOX 取消後 產生錯誤 [打印本頁]

作者: hugh0620    時間: 2011-4-19 14:38     標題: INPUTBOX 取消後 產生錯誤

Dear 大大~

         小弟在操作INPUTBOX時,產生一些問題
      在SHEET1.RANGE("A1") = 2011/4/10  (請先行在該位上輸入任一日期)
         在執行下面程式時,若按確定,不會有問題,但若是按下取消則會產生錯誤
      請大大有教於我~ 謝謝唷~

      SUB XX()
                Dim A As Date
                 A = InputBox("請輸入刪除日期", "刪除資料", Sheet1.Range("A1"))
        END SUB
作者: oobird    時間: 2011-4-19 14:52

Dim A As Date
    A = Application.InputBox("請輸入刪除日期", "刪除資料", Format(Sheet1.Range("A1"), "yyyy/mm/dd"))
    If A = False Then End
作者: GBKEE    時間: 2011-4-19 14:55

回復 1# hugh0620
Sub XX()
    Dim A As Variant
    A = InputBox("請輸入刪除日期", "刪除資料", Sheet1.Range("A1"))
End Sub
作者: hugh0620    時間: 2011-4-19 15:55

回復 2# oobird


    謝謝 oobird 大大~
            你的方式符合我後續要處理的工作~
            因為我需要A要保持DATE的格式~
            方便我用FIND去找到同日期的資料~

    再次感謝~  也學會這一招~
    大大的作法是使用application來產生true與false的方式排除掉當A是一個FALSE
作者: hugh0620    時間: 2011-4-19 15:59

回復 3# GBKEE

     Dear GBKEE 大大
         很抱歉沒有交待清楚問題~
             A的資料格式要保持日期格式~
             大大的改法~ 會使A變成字串的格式~
             我後續的作業無法使用~

           還是謝謝大大的教導~
作者: GBKEE    時間: 2011-4-19 16:20

回復 5# hugh0620
  1. Sub Ex()
  2.         Dim A As Variant
  3.         Do While Not IsDate(A)
  4.             A = InputBox("請輸入刪除日期", "刪除資料", Sheet1.Range("A1"))
  5.         Loop
  6. End Sub
複製代碼

作者: hugh0620    時間: 2011-4-19 17:00

回復 6# GBKEE


    Dear GBKEE 大大~
            我試過你新的方式~
            但是結果會產生若A不是日期的話~ 就會一直跳出輸入視窗~
            這樣就是要強迫一定要輸入資料~ 不適合使用~
            有時會應該執行後~ USER會不想要執行這個指令~

           以上~ 謝謝大大
作者: GBKEE    時間: 2011-4-19 17:12

回復 7# hugh0620

加上離開迴圈的條件
   
  1. Sub Ex()
  2.     Dim A As Variant
  3.     Do While Not IsDate(A)
  4.         A = InputBox("請輸入刪除日期", "刪除資料", Sheet1.Range("A1"))
  5.         If A = "" Then Exit Do
  6.     Loop
  7. End Sub
複製代碼

作者: hugh0620    時間: 2011-4-19 17:57

回復 8# GBKEE


    Dear GBKEE大大~

            感恩呀~ 這樣可以了~ 一次學兩招不同的應用~ 謝謝大大們~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)