所以我正在运行一个循环遍历列表的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