VBA для сортировки таблицы и игнорирования общей строки

У меня есть Table3 как показано ниже:

введите описание изображения здесь

Строки не фиксированы и могут увеличиваться или уменьшаться, поэтому я создал его как таблицу Table3 чтобы приспособить это поведение, а также чтобы использовать его в VBA как ListObjects .

Ниже приведен пример VBA для сортировки таблицы, однако, поскольку Totals является частью диапазона, сортировка не работает должным образом.

 Sub sort ()

     ActiveWorkbook.Worksheets («Проект 2013»). ListObjects («Таблица3»). Sort.SortFields _
         .Очистить
     ActiveWorkbook.Worksheets («Проект 2013»). ListObjects («Таблица3»). Sort.SortFields _
         .Add Key: = Range («Таблица3 [Описание3]»), SortOn: = xlSortOnValues, Order: = _
         xlAscending, DataOption: = xlSortNormal
     С ActiveWorkbook.Worksheets («Проект 2013»). ListObjects («Таблица3»). Sort
         .Header = xlYes
         .MatchCase = False
         .Orientation = xlTopToBottom
         .SortMethod = xlPinYin
         .Подать заявление
     Конец с
 End Sub

Может кто-то, пожалуйста, помогите изменить код, чтобы игнорировать строку Totals (т.е. включать только диапазон ниже header и выше строки Totals ) перед применением сортировки

РЕДАКТИРОВАТЬ

На данный момент это моя попытка переопределить новый диапазон без последней строки

 Sub sort ()

 Dim resizeTable As ListObject
 Set resizedTable = Таблицы («Лист1»). ListObjects («Таблица1»)
 С resizeTable
 .Resize .Range.Resize (.Range.Rows.Count - 1, .Range.Columns.Count).
 Конец с


     resizedTable.sort.SortFields.Clear
     resizedTable.sort.SortFields _
         .Add Key: = Range ("resizedTable [Описание]"), SortOn: = xlSortOnValues, Order: = _
         xlAscending, DataOption: = xlSortNormal
 
         .Header = xlYes
         .MatchCase = False
         .Orientation = xlTopToBottom
         .SortMethod = xlPinYin
         .Подать заявление

 End Sub

Любая помощь будет оценена.

Установите новый диапазон для вашей таблицы, всего на одну строку короче » totalRowCount - 1 .
Здесь x – ваш диапазон ввода

 Set x = Range(x.Cells(1, 1), x.Cells(x.Rows.Count - 1, x.Columns.Count)) 

или используйте метод изменения размера

 Sub CutOffLastLine() With ActiveWorkbook.Worksheets("Project 2013").ListObjects("Table3") .Resize .Range.Resize(.Range.Rows.Count - 1, .Range.Columns.Count) End With End Sub 
  • используя VBA excel для поиска по списку имен на веб-сайте
  • Обработать много событий ComboBox_Change
  • Найдите Roll и Column of Name с последней датой
  • Excel VBA Autofilter - несколько критериев «начать с»
  • Извлечение данных (игнорирование дубликатов и компиляция информации)
  • Суммировать несколько значений с другого листа
  • В micosost excel, как копировать данные из нескольких столбцов в строке в один столбец в той же строке
  • Простая функция поиска и поиска в Excel VBA дает # ВАЛЮТА! ошибка
  • Коллекция с названием диапазона Excel 2010 пуста
  • Применять одну формулу для таблицы Excel
  • Сгенерируйте последовательный номер 3-го столбца на основе двух данных столбцов
  • Давайте будем гением компьютера.