返回列表 上一主題 發帖

[發問] 出現RUN-TIME ERROR '9': SUBSCRIPT OUT OF RANGE,請問哪裡出現問題?

出現RUN-TIME ERROR '9': SUBSCRIPT OUT OF RANGE,請問哪裡出現問題?
198188 發表於 2012-12-26 16:10


船期表.rar (434.58 KB)

由於附件的PARKER SHIPMENT 內容太多,導致超過1mb,無法上傳,現刪除了部分內容,才上傳。

TOP

回復 21# 198188
21#的附檔 在2003版執行 20#  的程式沒有錯誤.
還需 2007版 的執行 看有無錯誤?

TOP

回復 22# GBKEE


    我是2010版本,執行時出現RUN-TIME ERROR '9': SUBSCRIPT OUT OF RANGE,請問哪裡出現問題?

TOP

回復 23# 198188
回復 22# GBKEE
因為你所附檔案的程式碼中文部分全為檢體亂碼,
對應不上表單名稱所致,請再重新複製 GBKEE 版大的程式碼覆蓋,
便OK了!

TOP

請問尋找不等於空格,為什麼我用 <>"",但有些來源可以,有些來源需要<>" "才可以?
到底哪個才對?因為兩個都是有些來源可以,有些來源不可以

TOP

回復 5# Hsieh

EXCEL 2010
請問尋找不等於空格,為什麼我用 <>"",但有些來源可以,有些來源需要<>" "才可以?
到底哪個才對?因為兩個都是有些來源可以,有些來源不可以

TOP

回復 26# 198188

""表示空字串
" "表示內容為空白鍵(SPACE)
同樣是看不見內容,但結果卻是不同
解決此問題可用編輯/取代功能
在搜尋目標輸入空白鍵,取代為方塊內不輸入任何字串
則程式碼即可使用<>""
否則可在判斷是內利用TRIM函數
Trim(A)<>""
同樣可以避開空白鍵做比對
學海無涯_不恥下問

TOP

回復 27# Hsieh


If Wb.Worksheets("New form of payment report").Range("k" & j).Value = Date And Wb.Worksheets("New form of payment report").Range("h" & j).Value >= 0.95 And Trim(Wb.Worksheets("New form of payment report").Range("h" & j).Value) <> "" Then

If FRng.Offset(, 6).Value >= 0.95 And Trim(FRng.Offset(, 6).Value) <> "" And Trim(A.Offset(, 5).Value) = "" Then

這樣寫對嗎?

TOP

回復 28# 198188
基本上與法是對的,如果沒得到你想要的結果可能是你的判斷式問題
寫程式要勇於嘗試,執行看看才能知道你的錯誤在哪裡
學海無涯_不恥下問

TOP

  1. Sub Detail()
  2. Dim FRng As Range
  3. Dim A As Range, Rng As Range
  4. Dim i As Integer
  5. fs = "W:\Payment Daily Report\HK ETA update.xlsx"
  6. Set Wb = Workbooks.Open(fs)
  7. With ThisWorkbook.Worksheets("State")
  8. For Each A In .Range(.[A2], .Range("A1").End(xlDown))
  9.      Set FRng = Wb.Sheets("HK HAIPONG").Range("A:A").Find(A, LookAt:=xlWhole, SearchDirection:=xlPrevious)
  10.      If Not FRng Is Nothing Then
  11.            A.Offset(, 2) = FRng.Offset(, 11).Value
  12.            If Rng Is Nothing Then Set Rng = A.Offset(, 2) Else Set Rng = Union(Rng, A.Offset(, 2))
  13.         End If
  14.    
  15.        Set FRng = Nothing
  16. Next
  17. End With
  18. Wb.Close 0

  19.   fs = "W:\Payment Daily Report\Mainland ETA Update.xlsx"
  20. Set Wb = Workbooks.Open(fs)
  21. With ThisWorkbook.Worksheets("State")
  22. For Each A In .Range(.[A2], .Range("A1").End(xlDown))
  23.      Set FRng = Wb.Sheets("MAILAND ETA").Range("A:A").Find(A, LookAt:=xlWhole, SearchDirection:=xlPrevious)
  24.      If Not FRng Is Nothing Then
  25.            A.Offset(, 3) = FRng.Offset(, 9).Value
  26.            If Rng Is Nothing Then Set Rng = A.Offset(, 3) Else Set Rng = Union(Rng, A.Offset(, 3))
  27.         End If
  28.    
  29.        Set FRng = Nothing
  30. Next
  31. End With
  32. Wb.Close 0
  33.    
  34. fs = "W:\Payment Daily Report\Outstanding Payments.xlsm"
  35. Set Wb = Workbooks.Open(fs)
  36. With ThisWorkbook.Worksheets("State")
  37. For Each A In .Range(.[A2], .Range("A1").End(xlDown))
  38.      Set FRng = Wb.Sheets("outstanding payments").Range("A:A").Find(A, LookAt:=xlWhole, SearchDirection:=xlPrevious)
  39.      If Not FRng Is Nothing Then
  40.            A.Offset(, 6) = FRng.Offset(, 4).Value
  41.            If Rng Is Nothing Then Set Rng = A.Offset(, 6) Else Set Rng = Union(Rng, A.Offset(, 6))
  42.         End If
  43.    
  44.        Set FRng = Nothing
  45. Next
  46. End With
  47. Wb.Close 0
  48.    
  49. End Sub
複製代碼
回復 24# c_c_lai


我以前這個程式都無問題,但今日不知道為什麼出現問題,在If Not FRng Is Nothing Then這句上出現:  code execution has been interrupted
請問是什麼意思?

TOP

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