If Not c Is Nothing Then語法
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
本帖最後由 hugh0620 於 2012-7-17 11:09 編輯
回復 1# m09903020
RR = Sheets("SAMRD").Cells(1, 3) <== 這一句帶出來的是[無]
這樣的寫法RR=Sheets("SAMRD").Cells(1, 3) 的內容
Sheets("SAMRD").Cells(1, 3)的內容就必須要是儲存格的寫法
才能套用到下一句
b = Sheets("QS").Range(RR) <=== run到這一句就是錯誤的
修改成以下的方式~ 可避免錯誤
If Sheets("SAMRD").Cells(1, 3) = "" Then Exit Sub '當Sheets("SAMRD").Cells(1, 3) = "" 跳出執行
RR = Sheets("SAMRD").Cells(1, 3)
b = Sheets("QS").Range(RR)
If Not c Is Nothing Then Drr = c.Address <====若這一句都沒執行到 Drr = c.Address
Sheets("order_pool").Range(Drr).Delete <====當Drr上面那一句是空的時候,這一句就會有錯誤產生- Sub Call_order_pool_Add_batch_pool_del_order_pool2()
- Dim RR, Drr As String
- Dim i, j, num_of_item, opA, OC As Integer
- Dim r, c, b As Variant
- RR = Sheets("SAMRD").Cells(1, 3) '(1,3)要幹嘛?Sheets("order_pool").[C1].Resize(s, 1) = Arr2
- b = Sheets("QS").Range(RR)
- Sheets("batch_order_pool").Cells(seed_counter, a_batch_followering_order_counter + 1) = Sheets("總訂單").Cells(b + 1, 1)
- OC = 100 - RC
- If (Sheets("總訂單").Cells(b + 1, 1) > 0) And (Sheets("總訂單").Cells(b + 1, 1) < 3001) Then
-
- num_of_item = 5
-
- ElseIf (Sheets("總訂單").Cells(b + 1, 1) >= 3001) And (Sheets("總訂單").Cells(b + 1, 1) < 6001) Then
-
- num_of_item = 10
- ElseIf (Sheets("總訂單").Cells(b + 1, 1) >= 6001) And (Sheets("總訂單").Cells(b + 1, 1) < 9001) Then '50 items
-
- num_of_item = 50
-
- Else
- MsgBox "error這麼九很奇怪ㄟ你"
- End If
- Call cal_RC(num_of_item)
-
- If RC >= 0 Then
-
- For j = 1 To num_of_item
-
- Sheets("batch_pool").Cells(seed_counter, OC + j) = Worksheets("總訂單").Cells(b + 1, j + 6)
-
- Next
- For Each r In Worksheets("order_pool").Range("A1", Sheets("order_pool").Range("A1").End(xlDown))
- Set c = r.Find(b, , , xlWhole) '設定內容為b的儲存格物件為c
-
- If Not c Is Nothing Then Drr = c.Address
- '每找到C則將C的相對位址放進DRR
- Next
-
- Sheets("order_pool").Range(Drr).Delete '刪除從order pool取出之資料
-
- End If
-
- End Sub
複製代碼 |
|
|
學習才能提升自己
|
|
|
|
|