在寫程式時,常常會有錯~不知要從哪下手~~修改錯誤
請大家看一下~~thanks
Sub 分配訂單()
Worksheets("confirm order").Range("A2:M100").Select
hmd = 30
cap = 250
For i = 1 To hmd
For j = 2 To 99
If cap * 2 - Worksheets("confirm order").Range(j, 4).Value >= 0 Then
Worksheets("confirm order").Range(i, "A2:M100").Select Selection.Copy
If Worksheets("Array1").Range(10, 4).Value > Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array1").Range(13, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 4).Value < Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array2").Range(5, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 4).Value = Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array1").Range(10, 4).Select
ElseIf Worksheets("Array1").Range(10, 3).Value > Worksheets("Array2").Range(2, 3).Value Then
Worksheets("Array1").Range(13, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 3).Value < Worksheets("Array2").Range(2, 3).Value Then
Worksheets("Array2").Range(5, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 3).Value = Worksheets("Array2").Range(2, 3).Value Then
End if
Next j
Next i
End Sub
2007-03-19 18:38:49 · 2 個解答 · 發問者 ? 2 in 電腦與網際網路 ➔ 程式設計
後來的 End if 我已經加上去了(加在第8行下方)但是在run的時候它卻出現'執行階段錯誤'1004'~~利用偵錯時它跳到了第7行,也就是
If cap * 2 - Worksheets("confirm order").Range(j, 4).Value >= 0 Then
是那裡有錯呢?再麻煩幫我解答吧!!謝謝~~
2007-03-20 07:17:51 · update #1
...
For i = 1 To hmd
For j = 2 To 99
If cap * 2 - Worksheets("confirm order").Range(j, 4).Value >= 0 Then
Worksheets("confirm order").Range(i, "A2:M100").Select Selection.Copy
rem 第1個if沒有End If 應加上
End If
If Worksheets("Array1").Range(10, 4).Value > Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array1").Range(13, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 4).Value < Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array2").Range(5, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 4).Value = Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array1").Range(10, 4).Select
ElseIf Worksheets("Array1").Range(10, 3).Value > Worksheets("Array2").Range(2, 3).Value Then
Worksheets("Array1").Range(13, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 3).Value < Worksheets("Array2").Range(2, 3).Value Then
Worksheets("Array2").Range(5, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 3).Value = Worksheets("Array2").Range(2, 3).Value Then
rem 這裡沒有敘述是不正確的,應補上否則判斷符合並沒有執行的動作。
rem 最後還要補上一行 Else ,萬一均不符合時可執行Else後的敘述。
xxxxxx
Else
yyyyyy
End if
Next j
Next i
2007-03-19 19:10:17 · answer #1 · answered by ? 5 · 0⤊ 0⤋
'少了個End If
Sub 分配訂單()
Worksheets("confirm order").Range("A2:M100").Select
hmd = 30
cap = 250
For i = 1 To hmd
For j = 2 To 99
If cap * 2 - Worksheets("confirm order").Range(j, 4).Value >= 0 Then
Worksheets("confirm order").Range(i, "A2:M100").Select Selection.Copy
'不知道你是要放這裡
'End If
If Worksheets("Array1").Range(10, 4).Value > Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array1").Range(13, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 4).Value < Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array2").Range(5, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 4).Value = Worksheets("Array2").Range(2, 4).Value Then
Worksheets("Array1").Range(10, 4).Select
ElseIf Worksheets("Array1").Range(10, 3).Value > Worksheets("Array2").Range(2, 3).Value Then
Worksheets("Array1").Range(13, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 3).Value < Worksheets("Array2").Range(2, 3).Value Then
Worksheets("Array2").Range(5, 2).Select
ActiveSheet.Paste
ElseIf Worksheets("Array1").Range(10, 3).Value = Worksheets("Array2").Range(2, 3).Value Then
End if
'還是是要放這裡
'End If
Next j
Next i
2007-03-19 18:58:00 · answer #2 · answered by W.J.S. 7 · 1⤊ 0⤋