返回列表 上一主題 發帖

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

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

TOP

回復 5# Hsieh

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

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

  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

回復 32# GBKEE


    還是不明白為什麼會這樣,但是我重新啟動電腦後,就沒有問題了

TOP

回復 29# Hsieh


    請問要check一個儲存格內的日期是星期幾,可以用vba嗎?

TOP

  1.     The_day = Worksheets("Request").Range("F" & i).Value - 2
  2.   If The_day = "星期六" Or The_day = "星期日" Then .Range("H" & i).Value = .Range("F" & i).Value Else .Range("H" & i).Value = .Range("F" & i).Value - 2
複製代碼
回復 37# GBKEE




我這個程式應該無問題,但是Worksheets("Request").Range("F" & i).Value 經常出現是數值,不是日期,如果讓電腦自動辨認這個儲存格是日期。我儲存格的日期格式是11/1

TOP

回復  GBKEE




我這個程式應該無問題,但是Worksheets("Request").Range("F" & i).Value 經常出現是 ...
198188 發表於 2013-1-11 10:19


我第一個data base 原本是04-Jan-13
然後我轉1/4在第二個data base
之後讀取第二個data base,就變成附件圖片,數值,而這個程式卻不懂得辨認成日期

TOP

回復 19# kimbal

請問可否幫我看一下下面的link哪裡出現問題
    http://forum.twbts.com/viewthrea ... amp;page=4#pid49510

TOP

回復 41# GBKEE


    我試過將全部的日期格式都改成一樣,而各種日期格式都試過。
但一執行vba就會自動將格式改成數字如下,而我想將這個ETA日期減兩日,如果是星期六或日,就在另一column顯示ETA Column的日期,否則就顯示ETA日期減兩日,由於vba未能辨認數字成日期,所以全部都減2
ETA
41289.5
41291
41288.5
41295
41297
41298

TOP

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題