1

Тема: Сортировка таблицы!!!

Пожалуйста, помогите отсортировать таблицу. Таблица очень больших размеров- несколько столбцов и очень много строк. Вкратце, нужно отсортировать всю таблицу целиком, но это не получается так как сортирует только один столбец, игнорируя все остальные.

Post's attachments

Сортировка.png 22.09 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

2

Re: Сортировка таблицы!!!

Пример таблицы)))

Post's attachments

Сортировка.doc 31.5 Кб, 3 скачиваний с 2013-03-03 

You don't have the permssions to download the attachments of this post.

3

Re: Сортировка таблицы!!!

Я в шоке, эксперты собрались...  не позорились бы!!!

4

Re: Сортировка таблицы!!!

Ваша задача оказалась довольно сложной в части программирования.
Могу лишь дать вам некоторые небольшие рекомендации.

1. Реализация обхода ячеек текущей таблицы по столбцам:

Sub CellsInColumn()
'Обход всех ячеек таблицы по столбцам
Dim rngTable As Range
Dim oTable As Table
Dim oColumn As Column
Dim oCell As Cell
Dim sStr As String
Set rngTable = Selection.Range
Set oTable = Selection.Tables(1)
If Not rngTable.Information(wdWithInTable) Then
MsgBox prompt:="Курсор находится вне таблицы"
Else
With oTable
For Each oColumn In .Columns
For Each oCell In oColumn.Cells

'Сюда можно вставить текст обработки ячеек

Next oCell
Next oColumn
End With

End If
End Sub

2. Если в вашей таблице есть пустые поля, то вам придется их исключить из процесса сортировки.

3. Сортировку я бы проводил методом пузырька, который является хотя и не очень эффективным по времени, но даст вам экономию используемой оперативной памяти (что существенно, так как вы будете обрабатывать большую таблицу). Кроме того, применение этого метода позволит прерывать и возобновлять процесс сортировки в любой момент.

А как это все реализовать в Ворде - думайте сами.
Также хотелось бы отметить, что Word не очень приспособлен для таких видов сложной сортировки в таблицах - это текстовый редактор. Подобную сортировку гораздо проще будет реализовать, например, в Экселе.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.