Как сортировать столбцы excel из Outlook через VBA. Код excutes by не сортирует

Я просматриваю несколько тысяч писем, проверяющих ошибки. Код синтаксического анализа выгружает результат в excel unsorted в 4 столбца. A: Hits, B: Total, C: Percentage, D: User.

Это прекрасно работает. Однако я хочу сортировать эти данные по общим хитам (или процентам) без необходимости делать это вручную в excel. Это связано с тем, что это создает отчет с несколькими другими группами полей, которые я хочу сортировать по каждому набору.

Проблема в том, что я не придумал, способный к фактическому сортировке из Outlook. Код выполняется без ошибок, но ничего не происходит. Я смог использовать следующее, чтобы успешно сортировать макрос excel.

Sub test() With ActiveSheet Call .Range("A3:D30").Sort(Key1:=Range("A3"), Order1:=xlDescending, Header:=xlNo) End With End Sub 

Затем я поместил только строку вызова в свой внешний код vba, определил все (ссылка на объектную библиотеку Excel)

  With xlSheet If i > 0 Then hitp = Round(hits / i * 100, 1) Else hitp = "0" Dim vstr As Variant Dim temph As String j = 2 .Range("A1:D1").Merge .Range("A1:D1").Value = "Basic Errors" .cells(j, 1).Value = "Total Hits:" .cells(j, 2).Value = "Total Sent:" .cells(j, 3).Value = "Percentage:" .cells(j, 4).Value = "Agent:" For Each vstr In userhit.Keys() j = j + 1 temph = userhit(vstr) If temph = "" Then temph = "0" .cells(j, 1).Value = temph .cells(j, 2).Value = userhit(vstr) + userclean(vstr) .cells(j, 3).Value = Round(userhit(vstr) / (userhit(vstr) + userclean(vstr)) * 100, 1) & "%" .cells(j, 4).Value = vstr DoEvents Next Call .Range("A3:D30").Sort(Key1:=Range("A3"), Order1:=xlDescending, Header:=xlNo) End With 

Я использую словари (14 из них), чтобы отслеживать различные вещи, поэтому сортировка их в vba до демпинга была бы намного более утомительной, хотя, возможно, выполнимой, если я отчаялся. К сожалению, это ничего не делает в Excel, несмотря на работу без ошибок и работу, если я скопирую его в макрос Excel.

Я также видел другой способ сделать вид, как показано в этом сообщении. Https://stackoverflow.com/questions/22220127/sorting-excel-range-in-class-module-from-outlook-or-access-vba

 With xlSheet.Sort .SetRange Range((LeftColStr & RowStart & ":" & RightColStr & RowEnd)) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 

Но в конце концов это не сработало для меня или для меня, когда я пытался. Поэтому я переключился на этот метод, считая, что это будет проще, но это не так. Код работает, если он находится в макросе excel, но, несмотря на выполнение в Outlook, он не работает. Любая помощь будет широко присвоена.

Так спасибо @ASH за подсказку пропавшего ».

Он работал в excel без него, поскольку по умолчанию используется активный лист. Теперь это работает!

 Call .Range("A3:D30").Sort(Key1:=.Range("A3"), Order1:=xlDescending, Header:=xlNo) 
  • Соответствие неравных столбцов в excel
  • Копирование и вставка ненулевых строк и соседних ячеек
  • Сортировка столбцов на основе другого столбца в Excel 2007
  • Сортировка записей из нескольких книг Excel - C # Excel Interop
  • Выбор именованного диапазона из выпадающего списка в ячейке
  • Сортировка диапазона с использованием нескольких критериев
  • Excel Сортировка одного столбца по наименьшей строке
  • EXCEL, если ячейка имеет значение, перемещает строку из таблицы в другую таблицу
  • Сортировка ранжированных данных в Excel при перечислении дубликатов как разных целых чисел
  • Excel VBA Collection Merge Sort
  • Сортировка списка Excel с блоками состоит из данных, которые не будут отсортированы
  • Interesting Posts

    Импорт нескольких страниц из Интернета в Excel

    Сводная таблица не может найти разницу между январем текущего года и декабрем прошлого года. Excel 2010

    Логический тест для определения того, является ли ячейка частью именованного диапазона

    Excel: как создать список всех значений в столбце, которые попадают между двумя другими значениями

    Метод грубой силы, использующий VBA для решения уравнения с девятью неизвестными переменными

    Excel countif, где критерии находятся в отдельных столбцах

    Не удается получить макрос excel для возврата после цикла for

    Excel VBA Удаление символов Unicode в строке

    Есть ли более быстрый способ распечатать набор строк в строке в excel?

    apache POI создает недопустимую подпись для файла stream xlsx

    Функция Concat недоступна в офисе

    Формула сцепления (получение ошибки #REF)

    Временная шкала Арифметика для прогнозирования приливов

    Удалить всю строку с нулями применимо ко всем листам

    Метод writeToFile не работает для ipod

    Давайте будем гением компьютера.