3

在庫リストに使用しているこのスクリプトがあります。すべての製品には、カウントと再注文の制限があります。個数が再注文制限に満たない場合は、追加注文をお願いするメールを送信します。

スクリプトを実行してみましたが、コンパイル エラーが発生しました。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

1 に答える 1

6

配列のソース範囲には 2 つの列しかありませんが、配列でハードコーディングされた列値 4 と 5 を参照しています。

于 2013-10-04T03:49:29.707 に答える