Board logo

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

作者: 198188    時間: 2012-12-17 20:33     標題: 請問vba left 用法

例如:
A1 儲存格   207171      如何知道A1儲存格內的第一個字是不是2字    if left(A1,1)= 2 then
A2儲存格    74171   如何知道A2儲存格內的第一個字是不是7     if left(A2,1)= 7 then
A3儲存格    OBL,OHC            如何知道A3儲存格內的第一個字是不是obl     if left(A3,3)= "OBL" then
這樣寫對嗎?
作者: c_c_lai    時間: 2012-12-17 21:04

回復 1# 198188
  1. if left([A1],1)= 2 then
  2.     ' .......
  3. end if

  4. if left([A2],1)= 7 then
  5.     ' .......
  6. end if

  7. if left([A3],3)= "OBL" then
  8.     ' .......
  9. end if
複製代碼

作者: 198188    時間: 2012-12-17 21:24

回復 2# c_c_lai

另外請問如果是不含某個字的寫法
    ="<>""*OBL*"
         <>"*OBL*"
哪個才對,還是兩個都不對?
作者: kimbal    時間: 2012-12-17 21:52

回復 3# 198188

dim vari
if not ( vari like "*OBL*") then
...
end if
作者: Hsieh    時間: 2012-12-17 22:19

本帖最後由 Hsieh 於 2012-12-17 22:21 編輯

回復 3# 198188

不包含某字串OBL
If Instr([A1],"OBL")=0 Then
字首為OLB
If Instr([A1],"OBL")=1 Then
作者: c_c_lai    時間: 2012-12-18 07:22

本帖最後由 c_c_lai 於 2012-12-18 07:27 編輯

回復 3# 198188
與 Hsieh 大的 Instr() 有不同的表達方式, 與 Kimbal 版大的是同樣的意思,請參考!
  1. Sub Test5()
  2.     If Not [A1] Like "*OBL*" Then   '  [A1] = "ABCDEFG"
  3.         [B1] = "Not *OBL*"
  4.     Else                            '  [A1] = "ABCODLDE"
  5.         [B1] = "I Got it!"
  6.     End If
  7. End Sub
複製代碼

作者: GBKEE    時間: 2012-12-18 09:19

本帖最後由 GBKEE 於 2012-12-18 09:43 編輯

回復 6# c_c_lai
  1. VAB的說明

  2. Boolean 資料型態
  3. Boolean 變數係以 16 位元( 2 個位元組)數字的形式儲存,但只能是 True 或是 False。Boolean 變數的值不是 True 就是 False ( 在使用 Print 的時候 ),或是 #TRUE# 和 #FALSE# ( 在使用 Write # 的時候 )。使用關鍵字 True 與 False 可將 Boolean 變數指定為這兩個狀態中的一個。
  4. 當轉換其他的數值型態為 Boolean 時,0 會轉成 False,而所有其他的值則變成 True。當轉換 Boolean 值為其他的資料型態,時,False 成為 0 ,而 True 成為 -1。

  5. If .[運算式條件]..Then...Else 陳述式  其[運算式條件]之運算結果為 True 或 False
  6. True 或 False 是 Boolean 資料型態
複製代碼
  1. Sub Ex()
  2.     Dim Vari
  3.     Vari = "oBL"
  4.     '三個式子的運算結果都一樣的 Boolean 資料型態
  5.     'If Vari Like "*OBL*" = False Then
  6.     'If Vari Like "*OBL*" = 0 Then
  7.     If Not Vari Like "*OBL*" Then
  8.         MsgBox Vari & " 不包含 : * OBL * "
  9.     End If
  10. End Sub
複製代碼
  1. Sub Ex1()
  2.     Dim Vari As String
  3.     Vari = "AOBL"
  4.     MsgBox InStr(Vari, "OBL")
  5.     If InStr(Vari, "OBL") Then  '運算結果是 Boolean 資料型態
  6.     'If InStr(Vari, "OBL") > 0 Then
  7.         MsgBox Vari & " 包含 : * OBL * "
  8.     End If
  9. End Sub
複製代碼

作者: c_c_lai    時間: 2012-12-18 09:29

回復 7# GBKEE
感謝 GBKEE 版大的附加說明。
作者: mark15jill    時間: 2012-12-18 09:29

回復 1# 198188


    Sub oag()
    If InStr(Cells(1, 1), "2") = 1 Then
        [b1] = "2" & "在第一個"
    Else
        [b1] = "2" & "不是在第一個"
    End If

End Sub
作者: 198188    時間: 2012-12-18 12:23

回復 7# GBKEE

請問這句話是不是有問題?type mismatch?
    .Range("D2:D" & LastRec).Value = .Range("AA2:AA" & LastRec).Value  &  .Range("AH2:AH" & LastRec).Value
作者: GBKEE    時間: 2012-12-18 12:46

回復 10# 198188
是有的
   .Range("D2:D" & LastRec).Value = .Range("AA2:AA" & LastRec).Value  &  .Range("AH2:AH" & LastRec).Value
如 LastRec=10
    "D2:D" & LastRec      ->"D2:D10"
    "AA2:AA" & LastRec ->"AA2:AA10"
這都是連續範圍:無法用 "="  來計算
作者: 198188    時間: 2012-12-18 14:51

回復 11# GBKEE




A                                   K                  L
POA325691              325691       YES
POA335625              325648       NO
ZRH325648               335625      YES

在B欄set      vlookup(right(a2,6),k:L,2,False)的公式,但出來的答案是#N/A
哪裡出錯了?
作者: GBKEE    時間: 2012-12-18 16:36

回復 12# 198188
轉成數字
VLOOKUP(VALUE(RIGHT(A2,6)),K:L,2,FALSE)
作者: 198188    時間: 2012-12-20 15:16

回復 13# GBKEE


    請問SUBSCRIPT OUT OF RANGE是哪個問題?
  Set FRng = Wb.Sheets("香港&海防單").Range("A:A").Find(A, lookat:=xlWhole)
作者: GBKEE    時間: 2012-12-20 16:08

回復  GBKEE

    請問SUBSCRIPT OUT OF RANGE是哪個問題?
  Set FRng = Wb.Sheets("香港&海防單"). ...
198188 發表於 2012/12/20 15:16

你要說是出了什麼錯誤??
作者: 198188    時間: 2012-12-21 13:01

回復 15# GBKEE


   出現了下面這句話
SUBSCRIPT OUT OF RANGE
作者: GBKEE    時間: 2012-12-21 13:31

回復 16# 198188
SUBSCRIPT OUT OF RANGE->陣列索引超出範圍 (錯誤 9)
檢查 Set FRng = Wb.Sheets("香港&海防單").Range("A:A").Find(A, lookat:=xlWhole)
Wb活頁簿 是否有 香港&海防單 這工作表
作者: 198188    時間: 2012-12-21 18:09

回復 17# GBKEE


    請問是不是中文名會經常出現問題?因為以前都沒問題,但現在才出現問題?
作者: kimbal    時間: 2012-12-22 11:03

回復  GBKEE


    請問是不是中文名會經常出現問題?因為以前都沒問題,但現在才出現問題?
198188 發表於 2012-12-21 18:09

留意一下頁名的& 會不會用了全形,  
全形&和半形& 是不同的
作者: 198188    時間: 2012-12-26 16:10     標題: 出現RUN-TIME ERROR '9': SUBSCRIPT OUT OF RANGE,請問哪裡出現問題?

  1. Sub schedule()

  2.   Dim i As Integer
  3.   Dim j As Integer
  4.   Dim l As Integer
  5.   
  6.   j = Worksheets("PARKER SHIPMENT").Range("A" & Worksheets("PARKER SHIPMENT").Rows.Count).End(xlUp).Row
  7.   l = 13

  8. If IsError(Application.VLookup(Worksheets("船期表").Cells(1, 1).Value, Sheets("客戶資料").Range("A:C"), 3, False)) Then
  9. Worksheets("船期表").Range("B1").Value = ""
  10. Else
  11. Worksheets("船期表").Range("B1").Value = Application.VLookup(Worksheets("船期表").Cells(1, 1).Value, Sheets("客戶資料").Range("A:C"), 3, False)
  12. End If
  13.   
  14. If IsError(Application.VLookup(Worksheets("船期表").Cells(1, 1).Value, Sheets("客戶資料").Range("A:D"), 4, False)) Then
  15. Worksheets("船期表").Range("B2").Value = ""
  16. Else
  17. Worksheets("船期表").Range("B2").Value = Application.VLookup(Worksheets("船期表").Cells(1, 1).Value, Sheets("客戶資料").Range("A:D"), 4, False)
  18. End If
  19.   
  20. If IsError(Application.VLookup(Worksheets("船期表").Cells(1, 1).Value, Sheets("客戶資料").Range("A:E"), 5, False)) Then
  21. Worksheets("船期表").Range("E8").Value = ""
  22. Else
  23. Worksheets("船期表").Range("E8").Value = Application.VLookup(Worksheets("船期表").Cells(1, 1).Value, Sheets("客戶資料").Range("A:E"), 5, False)
  24. End If
  25.   
  26. If IsError(Application.VLookup(Worksheets("船期表").Cells(1, 1).Value, Sheets("客戶資料").Range("A:G"), 7, False)) Then
  27. Worksheets("船期表").Range("L8").Value = ""
  28. Else
  29. Worksheets("船期表").Range("L8").Value = Application.VLookup(Worksheets("船期表").Cells(1, 1).Value, Sheets("客戶資料").Range("A:G"), 7, False)
  30. End If

  31.   

  32.   For i = 2 To j
  33.   
  34.   If Worksheets("PARKER SHIPMENT").Cells(i, 4).Value = Worksheets("船期表").Range("B1").Value Then
  35.   Worksheets("船期表").Cells(l, 3).Value = Worksheets("PARKER SHIPMENT").Cells(i, 2).Value
  36.   Worksheets("船期表").Cells(l, 4).Value = Worksheets("PARKER SHIPMENT").Cells(i, 1).Value
  37.   Worksheets("船期表").Cells(l, 6).Value = Worksheets("PARKER SHIPMENT").Cells(i, 7).Value
  38.   Worksheets("船期表").Cells(l, 7).Value = Worksheets("PARKER SHIPMENT").Cells(i, 9).Value
  39.   Worksheets("船期表").Cells(l, 8).Value = Worksheets("PARKER SHIPMENT").Cells(i, 11).Value
  40.   Worksheets("船期表").Cells(l, 9).Value = Worksheets("PARKER SHIPMENT").Cells(i, 12).Value
  41.   Worksheets("船期表").Cells(l, 10).Value = Worksheets("PARKER SHIPMENT").Cells(i, 13).Value
  42.   Worksheets("船期表").Cells(l, 11).Value = Worksheets("PARKER SHIPMENT").Cells(i, 14).Value
  43.   Worksheets("船期表").Cells(l, 12).Value = Worksheets("PARKER SHIPMENT").Cells(i, 20).Value
  44.   Worksheets("船期表").Cells(l, 13).Value = Worksheets("PARKER SHIPMENT").Cells(i, 21).Value

  45.   
  46.   If Worksheets("PARKER SHIPMENT").Cells(i, 19).Value = " " Then Worksheets("船期表").Cells(l, 5).Value = "沒有"
  47.   Else
  48.   Worksheets("船期表").Cells(l, 5).Value = "有"
  49.   End If
  50.    
  51.   If Worksheets("PARKER SHIPMENT").Cells(i, 27).Value <> " " And Worksheets("PARKER SHIPMENT").Cells(i, 28).Value > 0 And Worksheets("PARKER SHIPMENT").Cells(i, 28).Value <> " " Then
  52.     Worksheets("船期表").Cells(l, 14).Value = "已付款"
  53.     Else
  54.     Worksheets("船期表").Cells(l, 14).Value = " "
  55.   End If
  56.   
  57.   l = l + 1
  58.   
  59.   
  60.   Next i
  61.   
  62. End Sub
複製代碼
出現RUN-TIME ERROR '9': SUBSCRIPT OUT OF RANGE,請問哪裡出現問題?
作者: 198188    時間: 2012-12-26 16:58

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


[attach]13694[/attach]

由於附件的PARKER SHIPMENT 內容太多,導致超過1mb,無法上傳,現刪除了部分內容,才上傳。
作者: GBKEE    時間: 2012-12-26 17:17

回復 21# 198188
21#的附檔 在2003版執行 20#  的程式沒有錯誤.
還需 2007版 的執行 看有無錯誤?
作者: 198188    時間: 2012-12-26 17:33

回復 22# GBKEE


    我是2010版本,執行時出現RUN-TIME ERROR '9': SUBSCRIPT OUT OF RANGE,請問哪裡出現問題?
作者: c_c_lai    時間: 2012-12-26 17:51

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

請問尋找不等於空格,為什麼我用 <>"",但有些來源可以,有些來源需要<>" "才可以?
到底哪個才對?因為兩個都是有些來源可以,有些來源不可以
作者: 198188    時間: 2013-1-3 11:56

回復 5# Hsieh

EXCEL 2010
請問尋找不等於空格,為什麼我用 <>"",但有些來源可以,有些來源需要<>" "才可以?
到底哪個才對?因為兩個都是有些來源可以,有些來源不可以
作者: Hsieh    時間: 2013-1-3 16:57

回復 26# 198188

""表示空字串
" "表示內容為空白鍵(SPACE)
同樣是看不見內容,但結果卻是不同
解決此問題可用編輯/取代功能
在搜尋目標輸入空白鍵,取代為方塊內不輸入任何字串
則程式碼即可使用<>""
否則可在判斷是內利用TRIM函數
Trim(A)<>""
同樣可以避開空白鍵做比對
作者: 198188    時間: 2013-1-3 17:16

回復 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

這樣寫對嗎?
作者: Hsieh    時間: 2013-1-3 17:20

回復 28# 198188
基本上與法是對的,如果沒得到你想要的結果可能是你的判斷式問題
寫程式要勇於嘗試,執行看看才能知道你的錯誤在哪裡
作者: 198188    時間: 2013-1-7 12:47

  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
請問是什麼意思?
作者: c_c_lai    時間: 2013-1-7 13:40

回復 30# 198188
你試著把裡面所宣告釋放記憶體的 Set FRng = Nothing 的語法拿掉,
然後在最後 End Sub 之上一行再行加上 Set FRng = Nothing 試試。
作者: GBKEE    時間: 2013-1-7 16:40

回復 30# 198188
參考這裡 http://www.excelforum.com/excel-programming-vba-macros/686948-code-execution-has-been-interrupted.html
作者: c_c_lai    時間: 2013-1-7 17:50

回復 30# 198188
About the VBA Code Cleaner
作者: 198188    時間: 2013-1-9 21:51

回復 32# GBKEE


    還是不明白為什麼會這樣,但是我重新啟動電腦後,就沒有問題了
作者: 198188    時間: 2013-1-10 00:44

回復 29# Hsieh


    請問要check一個儲存格內的日期是星期幾,可以用vba嗎?
作者: stillfish00    時間: 2013-1-10 16:20

本帖最後由 stillfish00 於 2013-1-10 16:23 編輯

回復 35# 198188

if WeekdayName(Weekday("2013/1/10")) = "星期一"

if Weekday("2013/1/10") = vbMonday
作者: GBKEE    時間: 2013-1-10 17:17

回復 34# 198188
這狀況我也不知道!

回復 35# 198188
  1. Sub Ex()
  2. Dim The_day As Variant
  3. The_day = #1/1/2013#
  4. MsgBox Format(The_day, "aaa")
  5. The_day = Date '系統日期: 今日
  6. MsgBox Format(The_day, "aaa")
  7. End Sub
複製代碼

作者: 198188    時間: 2013-1-11 10:19

  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
作者: 198188    時間: 2013-1-11 10:48

回復  GBKEE

[attach]13881[/attach]


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


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

回復 19# kimbal

請問可否幫我看一下下面的link哪裡出現問題
    http://forum.twbts.com/viewthrea ... amp;page=4#pid49510
作者: GBKEE    時間: 2013-1-11 16:06

回復 39# 198188
    二個data base,就變成附件圖片
F欄要設定為日期格式 如圖

[attach]13883[/attach]
作者: 198188    時間: 2013-1-12 10:27

回復 41# GBKEE


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

回復 42# 198188
上傳檔案及程式碼看看.
作者: 198188    時間: 2013-1-13 00:44

本帖最後由 198188 於 2013-1-13 00:46 編輯

回復 43# GBKEE
[attach]13915[/attach]
[attach]13916[/attach]
[attach]13917[/attach]

[attach]13920[/attach]

由於檔案太大,我分開了7個 excel 和一個程式的附件
作者: GBKEE    時間: 2013-1-13 16:40

回復 44# 198188
試試看
  1. '6)
  2. Sub Request()
  3.     Dim rngSrc As Range, rngCopyField As Range, rngFilter As Range
  4.     Dim nextRow As Long, endRow As Long
  5.     Dim LastRec As Integer
  6.     Dim i As Integer
  7.     Dim The_day As String  '<- ****
  8.     Sheets("Request").[A2:AG65536].ClearContents
  9.     Set rngSrc = Sheets("State").[A1:AG65536]
  10.     Set rngCopyField = Sheets("Rule").[B21:AH21]
  11.     Set rngFilter = Sheets("Rule").[B14].Resize(Sheets("Rule").[B14].CurrentRegion.Rows.Count, 33)
  12.      nextRow = 2
  13.     Sheets("Request").UsedRange.Offset(1).Clear
  14.     rngSrc.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
  15.     rngFilter, CopyToRange:=Sheets("Request").Range("A" & nextRow)
  16.          endRow = Sheets("Request").Range("A" & Sheets("Request").Rows.Count).End(xlUp)
  17.         For i = 1 To rngCopyField.Count
  18.         If rngCopyField(i) = "N" Then
  19.             Sheets("Request").Range(nextRow & ":" & endRow).Columns(i).Clear
  20.         End If
  21.     Next
  22.         Sheets("Request").Range("A" & nextRow).Resize(1, 33).Delete Shift:=xlUp   'delete header
  23.        Set rngSrc = Nothing
  24.     Set rngCopyField = Nothing
  25.     Set rngFilter = Nothing
  26. With Worksheets("Request")
  27.    LastRec = .Range("A1").End(xlDown).Row
  28.   For i = 2 To LastRec
  29.     .Range("B" & i).Value = Application.VLookup(.Range("A" & i).Value, Sheets("State").Range("A:S"), 19, False)
  30.     .Range("C" & i).Value = Application.VLookup(.Range("A" & i).Value, Sheets("State").Range("A:AA"), 27, False)
  31.     .Range("D" & i).Value = Application.VLookup(.Range("A" & i).Value, Sheets("State").Range("A:U"), 21, False) & " - " & Application.VLookup(.Range("A" & i).Value, Sheets("State").Range("A:AC"), 29, False)
  32.     .Range("E" & i).Value = Application.VLookup(.Range("A" & i).Value, Sheets("State").Range("A:AB"), 28, False)
  33.     .Range("F" & i).Value = Application.VLookup(.Range("A" & i).Value, Sheets("State").Range("A:B"), 2, False)
  34.     .Range("G" & i).Value = Application.VLookup(.Range("A" & i).Value, Sheets("State").Range("A:N"), 14, False)
  35.     The_day = Format(Worksheets("Request").Range("F" & i).Value - 2, "AAA")  '傳回星期?
  36.     If The_day = "星期六" Or The_day = "星期日" Then
  37.         .Range("H" & i).Value = .Range("F" & i).Value
  38.     Else
  39.         .Range("H" & i).Text = .Range("F" & i).Value - 2
  40.     End If
  41.     .Range("F" & i).NumberFormatLocal = "m/d;@"   '設定日期格式
  42.     .Range("H" & i).NumberFormatLocal = "m/d;@"   '設定日期格式
  43.       Next
  44.     End With
  45. End Sub
複製代碼

作者: 198188    時間: 2013-1-13 19:19

回復 45# GBKEE


     .Range("H" & i).Text = .Range("F" & i).Value - 2
執行階段錯誤‘1004’
無法設定種類range的text 屬性
作者: GBKEE    時間: 2013-1-14 15:33

回復 46# 198188
改成
  1. .Range("H" & i).Value
複製代碼

作者: 198188    時間: 2013-1-14 19:33

回復 47# GBKEE


    [attach]13928[/attach]

運行出來的結果還是一樣,不懂得辨認星期六或者星期日
作者: GBKEE    時間: 2013-1-15 16:39

回復 48# 198188
Debug.Print可在 即時運算視窗  中查看  The_day 傳回的字串
   
  1. The_day = Format(Worksheets("Request").Range("F" & i).Value - 2, "AAA")  '傳回星期?
  2.     Debug.Print The_day   ' *** Debug.Print可在 即時運算視窗  中查看  The_day 傳回的字串
  3.     If The_day = "星期六" Or The_day = "星期日" Then
複製代碼



[attach]13949[/attach]
作者: 198188    時間: 2013-1-16 09:04

回復 49# GBKEE


  感謝。已經知道問題所在,我的電腦是週六或者週日,不是星期六或者星期日
作者: 198188    時間: 2013-1-17 12:03

回復 49# GBKEE

ETA
>=41291

請問我將rule ETA 欄set >=41291, 但下面的日期都會出現,是為什麼?

    ETA
18-Dec-11
18-Dec-11
24-Dec-11
25-Feb-12
14-Jan-12
1-Feb-12
11-Feb-12
17-Feb-12
12-Feb-12
20-Feb-13
11-Feb-12
12-Feb-12
7-Mar-12
13-Feb-12
13-Feb-12
25-Feb-12
25-Feb-12
22-Feb-12
20-Mar-12
20-Mar-12
20-Mar-12
作者: GBKEE    時間: 2013-1-17 15:56

回復 51# 198188
日期都會出現 : 這是儲存格的日期格式
你只說 ETA 欄set >=41291  你需要查看整個程式哪裡有設定了, 儲存格的日期格式 為 .NumberFormatLocal = "[$-C04]d mmmm, yy;@"
改為  .NumberFormatLocal = "G/通用格式"
這些格式程式碼 可用錄製巨集得到
PS : $-C04 香港地區 的格式代號
作者: 198188    時間: 2013-2-1 12:41

請問這個乘數的寫法對嗎?
Worksheets("Oracle").Cells(i, 19).value 儲存個的資料是120000
Worksheets("Oracle").Cells(i, 22).Value的 儲存個的資料是30% 7 DAY.
Worksheets(customer).Cells(cnt, 6).Value = Worksheets("Oracle").Cells(i, 19).value * Left((Worksheets("Oracle").Cells(i, 22).Value), 3)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)