返回列表 上一主題 發帖

(已解決)錯誤1004 請教一下這一段code是否有邏輯錯誤

(已解決)錯誤1004 請教一下這一段code是否有邏輯錯誤

本帖最後由 m09903020 於 2012-6-21 20:36 編輯

不好意思,請問這一段有1004應用程式或物件定義上的錯誤 ...
不知道是什麼問題?QQ
  1. Sub SAMAD()
  2. Dim myRange As Range
  3. For i = 1 To 299
  4. For Each c In Sheets("batch_pool").Range("A1:A" & [a1].End(xlDown).Row)'抓取5/10/50筆integer資料
  5. ordernum = Sheets("order_pool").Cells(i, 1)'抓取299筆資料位址
  6. Dim distance, SRD'距離公式用
  7. distance = 0
  8. SRD = 0
  9. If (ordernum > 0) And (ordernum < 3001) Then
  10.     For j = 1 To 5
  11.     temp = Worksheets("總訂單").Cells(ordernum + 1, j + 6) 'temp is 訂單中每筆item代號
  12.     distance = Sheets("環境距離").Cells(c, temp + 2) '利用距離表對應出已距離
  13.     SRD = distance + SRD 'summation's idea by formula
  14.     Next j
  15.     SRD = SRD / 5 'SRD of SAMAD's fomula
  16.     Sheets("order_pool").Cells(i, 2) = SRD 'put into sheet
  17.    
  18. ElseIf (ordernum >= 3001) And (ordernum < 6001) Then '10 items
  19.     For j = 1 To 10
  20.     temp = Worksheets("總訂單").Cells(ordernum + 1, j + 6)
  21.     distance = Sheets("環境距離").Cells(c, temp + 2)
  22.     SRD = distance + SRD
  23.     Next j
  24.     SRD = SRD / 10
  25.     Sheets("order_pool").Cells(i, 2) = SRD
  26.    
  27. ElseIf (ordernum >= 6001) And (ordernum < 9001) Then '50 items
  28.     For j = 1 To 50
  29.     temp = Worksheets("總訂單").Cells(ordernum + 1, j + 6)
  30.     SRD = distance + SRD
  31.     Next j
  32.     SRD = SRD / 50
  33.     Sheets("order_pool").Cells(i, 2) = SRD
  34. Else
  35.         MsgBox "error這麼九很奇怪ㄟ你"
  36. End If
  37. Next
  38. Next i
  39. Set myRange = Worksheets("order_pool").Range("B1:B299")
  40.     result = Application.WorksheetFunction.min(myRange)
  41. If (result.Address.Row > 0) And (result.Address.Row < 3001) Then
  42. Call cal_vol(ByVal 5)
  43. ElseIf (result.Address.Row >= 3001) And (result.Address.Row < 6001) Then
  44. Call cal_vol(ByVal 10)
  45. ElseIf (result.Address.Row >= 6001) And (result.Address.Row < 9001) Then
  46. Call cal_vol(ByVal 50)
  47. Else
  48. MsgBox "error這麼九很奇怪ㄟ你"
  49. End If
  50. End Sub
複製代碼
謝謝各位

回復 2# oobird

http://dl.dropbox.com/u/16247104/10000%20order_sortingalready.xlsm
因為程式過大

TOP

回復 4# GBKEE


   謝謝大大解惑,我再 用 Option Explicit debug。

TOP

回復 2# oobird


    謝謝OO大,我用您建議的方式重寫 發現我錯在 for each 的c  改成用寫死的for迴圈跑就沒問題了

   還有那"亂測的"幾行判斷式我發現是自己搞錯F1的意思。

TOP

        靜思自在 : 人的心地是一畦田,土地沒有播下好種子,也長不出好的果實。 -
返回列表 上一主題