Excel VBA循环不添加

时间:2017-08-01 19:50:53

标签: excel vba excel-vba

所以我正在运行一个循环遍历列表的Do循环。我使用'index'函数来计算单元格中的值。我有一个设置为'index'的单元格,另一个单元格设置为值,这是索引函数所在的位置。

脚本将以'index'= 1开始运行。完成后,脚本会向“索引”添加1并再次运行脚本。这一直持续到单元格为0。

大多数情况下,这样运行没有任何问题,但是每隔一段时间循环就无法正确添加。所以会发生什么是循环发生,但没有向索引添加1,因此一遍又一遍地保持相同的值。在最终将1添加到索引之前,这可能会发生2或3次迭代。

知道为什么会这样吗?这真的令人沮丧,因为它用于向大量受众群发送用户独有的报告。因此,当它出现这样的故障时,一些用户会收到不正确的报告或多个报告。

谢谢!

Do
    y = Worksheets("index").Range("district_num")

    xlsheet.Range("A2:Z150000").ClearContents

    Set db = OpenDatabase(DbLoc)

    SQL = "SELECT DISTINCT district_num, district_name, district_manager_name, last_name2, first_name2, " & _
    "district_mgr_job_title, district_mgr_ee_id, DM_email_email_tbl " & _
        "FROM Contacts " & _
        "WHERE district_num = " & y

    'Execute query and populate the recordset'
    Set rs = db.OpenRecordset(SQL, dbOpenSnapshot)

    'Paste Access data in Excel worksheet'
    xlsheet.Range("A2").CopyFromRecordset rs
    Application.Cursor = xlDefault

    'Skips over empty zones'
    If Range("A2") <> vbNullString Then
        Call Sheet5.DM_auto_email
    Else
        Sheets("ZD_contact_list").Select    'Important to go back to the contact list so script can continue to run'
    End If

Worksheets("Index").Range("district_num_index") = Worksheets("Index").Range("district_num_index") + 1

Loop Until y = 0

0 个答案:

没有答案