簡體   English   中英

多次執行后,If語句出錯

[英]Error on If statement after multiple executions

執行多次后,我在一行代碼上收到錯誤。 當它達到相同的執行級別時(在宏嘗試達到的目標中的同一位置),就會發生這種情況。 整個程序旨在生成多封電子郵件,並將它們發送到具有不同電子郵件附件的不同公司。 它一直工作到它到達2 / 3rds為止,直到出現1004錯誤。 有任何想法嗎? **是錯誤的位置。 下面的代碼是一個更大的例程的一小段。

謝謝!

'sets row_counter = row_num to avoid iteration over unecessary rows in ReportsbyFirm and resets continue to True for PDF attachment phase
    continue = True
    row_counter = row_num

    With outMail
        .To = firmEmail
        .Subject = reportDate 
        .body = body

        Do While continue = True

           ** If reportsByFirm.Cells(row_counter, firmcol) = cFirm Or reportsByFirm.Cells(row_counter, firmcol) = iFirm Then
                pdfLocation = getPDFs(cFirm, iFirm, row_counter, reportsByFirm, trMaster, trSeparate, trName, reportDate)
                .Attachments.Add (pdfLocation)
                row_counter = row_counter + 1

            ElseIf row_counter <> lRowReportsByFirm Then
                row_counter = row_counter + 1

            Else
                continue = False
            End If
        Loop
        .Display
    End With

循環計數器中發生錯誤。 邏輯並不總是總是最終滿足於false,這將導致row_counter最終達到104K +值。 固定於此

    Do While continue = True

            If reportsByFirm.Cells(row_counter, firmcol) = cFirm Or reportsByFirm.Cells(row_counter, firmcol) = iFirm Then
                pdfLocation = getPDFs(cFirm, iFirm, row_counter, reportsByFirm, trMaster, trSeparate, trName, reportDate)
                .Attachments.Add (pdfLocation)
                row_counter = row_counter + 1

            ElseIf row_counter < lRowReportsByFirm Then
                row_counter = row_counter + 1

            ElseIf row_counter >= lRowReportsByFirm Then
                continue = False
            End If
        Loop
        .Display
    End With

暫無
暫無

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

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