簡體   English   中英

VBA - 下標超出范圍

[英]VBA - Subscript out of range

我有這個腳本我用於庫存清單。 對於每種產品,都有計數和重新訂購限制。 如果計數小於重新訂購限額,我會發送一封電子郵件,要求訂購更多。

我試過運行腳本,它給了我一個編譯錯誤。 Subscript out of range - Run-time error9

這是我的代碼。

  Sub sendEmail()
'
' sendEmail Macro
'

'
    Dim olApp As Object, olMail As Object
    Dim MyData
    Dim i As Long

    Set olApp = GetObject(, "Outlook.Application")


    ' ~~> I have taken 70 rows
    MyData = ThisWorkbook.Sheets("HDD").Range("D2:E70")

    For i = LBound(MyData) To UBound(MyData) - 1
        If MyData(i, 5) > MyData(i, 4) Then
            Set olMail = olApp.CreateItem(0)


            Debug.Print MyData(i, 2)

            With olMail
                .To = "myemail@example.com"
                .Subject = "Sent from Excel"
                .Body = MyData(i, 2)
                .Send
            End With
        End If
    Next i
End Sub

我的工作表看起來像這樣:

No - Product - Description - Count - Reorder 
---------------------------------------------
1    Pen          -            4        5

數組的源范圍只有兩列,但您在數組中引用了硬編碼的列值4和5。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM