在庫リストに使用しているこのスクリプトがあります。すべての製品には、カウントと再注文の制限があります。個数が再注文制限に満たない場合は、追加注文をお願いするメールを送信します。
スクリプトを実行してみましたが、コンパイル エラーが発生しました。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