Чувак, это сбивает с толку ...
Я создаю инструмент VBA в Excel.Помимо прочего, он отправляет электронные письма, основываясь на содержимом таблицы.Но прежде чем отправлять электронные письма, он отправляет их по адресу электронной почты.Он разбирается по домам, сначала сортируя таблицу по адресам электронной почты, а затем прокручивая снизу вверх, дедуплицируя соседние адреса электронной почты.
Последовательность сортировки приведена ниже (РЕДАКТИРОВАТЬ: для ясности добавлено больше строк):
' Sort the data by the EMAIL address
Dim lastrow As Long
lastrow = Cells(Rows.count, 1).End(xlUp).Row
Sheets("Email_Tool").Range("A2:D" & lastrow).Sort key1:=Sheets("Email_Tool").Range("a2:a" & lastrow), order1:=xlAscending, Header:=xlNo
Вот дурацкая часть ...
Когда я просто запускаю VBA-форму прямо из Excel, кажется, что алгоритм сортировки фактически не сортирует элементы должным образом.
Когда я открываю панель разработчика и затем запускаю форму, кажется, что она сортируется должным образом, ИНОГДА, но чаще всего нет.
Когда я открываюtable-which-содержит-значения, чтобы я мог видеть его прогресс, он каждый раз прекрасно выполняет сортировку.
В основном, электронная почта не становится домохозяйством.Причина этого в том, что строки не отсортированы.
Итак ...
Либо я неправильно понял что-то хитрое в том, как происходит сортировка, либо ...
.... Мне нужно придумать другой способ дедупликации моих данных (открытый для предложений).
Черт, я даже не могу понять, как УСТРАНИТЬ НЕИСПРАВНОСТЕЙ это глубже, чем это.Команда сортировки, которая иногда работает, а иногда не работает ?!При подаче абсолютно одинаковых данных в одинаковом порядке (даже из одного и того же буфера)?
Примечание на изображении: это обобщенный снимок экрана таблицы - используется только четыре фрагмента данных.Эти СЛЕДУЕТ сортировать по электронной почте, но они не ... если я не слежу за столом.(пытаясь понять, как загрузить изображение ...)
Открыть для предложений / идей и т. д.