返回列表 上一主題 發帖

[發問] 查詢提示問題(以解決,感謝GBKEE的幫忙)

[發問] 查詢提示問題(以解決,感謝GBKEE的幫忙)

本帖最後由 olisun 於 2010-8-10 12:14 編輯

我希望當查詢週次尚未輸入時,能夠在查詢的時候會出現"無此週次",並離開此程序
如果要查詢的週次存在,則繼續程序
不知哪錯了,就是有問題
Private Sub CommandButton1_Click() '查詢
    Dim a As Integer
       Dim b As Range
         Dim t As Range
           Dim r As Range
   
    Sheets(5).Range("f4:g37") = ""
      Sheets(5).Range("j4:k37") = ""
       Sheets(5).Range("n437") = ""
         Sheets(5).Range("a5") = ""
           Sheets(5).Range("a29") = ""
             Sheets(5).Range("a35") = ""

a:                      czxm = InputBox("輸入查詢週次!")
   
    With Sheets("初看未購原因")
        Set r = .Range("A4:A" & .Range("A65536").End(xlUp).Row)

  On Error Resume Next
   d = .Cells(.Range("A4:A").Find(czxm).Row, 1)
  If d = czxm Then
   MsgBox "無此週次", 0
  Exit Sub
End If
End With
With Sheets(5)
     Set c = Sheets(2).Range("A:A").Find(czxm, lookat:=xlWhole)
   
       If Not c Is Nothing And czxm > "1" Then
         Sheets(5).Range("a5").Value = czxm
            Sheets(5).Range("a29").Value = Sheets(2).Cells(c.Row, 2).Value '日期
                     .Range("a35").Value = .Range("a29").Value + 6 '日期
         Arr = Sheets(2).[a4].Resize(c.Row - 4, 36)    '增加
         Arr1 = Sheets(3).[a4].Resize(c.Row - 4, 36)    '增加
         Arr2 = Sheets(4).[a4].Resize(c.Row - 4, 36)    '增加

我這樣設定的結果是
輸入不存在的週次並沒有出現MsgBox "無此週次", 0的作用,但是會exit sub
就是說除了沒有出現警告之外,一切都符合要求,所以不知是哪錯呢

TOP

經過測試
1.如果輸入存在的週次,則執行到 MsgBox "無此週次", 0   出現執行階段錯誤"424"  此處需要物件。
2.如果輸入不存在的週次,則執行到 d=r.Find(czxm)     出現執行階段錯誤"91"沒有設定物件變數或WITH區塊變數。
這有問題耶!

TOP

可是沒有那一句就出現錯誤400

TOP

我的式子是有&的,只是複製到這不見了
我希望輸入不存在的週次會出現"無此週次"都沒有執行
MsgBox "無此週次", 0

TOP

使用f8逐步執行是ok的
可是真正執行的時候,輸入已存在的週次都會出現"物件不支援此屬性或方法"
如果輸入不存在的週次則正確的顯示"無此週次"

TOP

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題