1

Тема: Список - в таблицу

Есть ли возможность преобразовать:
1. 234 235 238
34. 303 307 309
122. 389 390 398
   и .т.д. (все числа разделены пробелами)
  в таблицу (2 столбика) так, как сделано в прилагаемом файле.

Заранее спасибо!

Отредактировано grevicand (29.08.2010 18:40:47)

2

Re: Список - в таблицу

Поскольку прилагаемого файла нет, то попробую угадать. Всё, что до точки должно быть в первом столбце, а всё остальное во втором? Нет ничего проще.
Выделите текст и преобразуйте в таблицу с разделителем "." (точка)

Лучше день потерять — потом за пять минут долететь!

3

Re: Список - в таблицу

Спасибо, не совсем то. Попробую еще раз файл вложить

Post's attachments

1.docx 13.56 Кб, 6 скачиваний с 2010-08-30 

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

4

Re: Список - в таблицу

Всё ясно. Попробуйте такой макрос:

Sub ConvToTable()
  Dim oRng As Range
  Const B As String = "@#$%"
  
  Set oRng = Selection.Range
  
  'Пробел после цифры заменяется на кодовую последовательность и точку
  With Selection.Find
    .Text = "([0-9]) "
    .MatchWildcards = True
    .Replacement.Text = "\1" & B & "."
    .Execute Replace:=wdReplaceAll
  End With
  
  'Точка с пробелом заменяется на точку
  With oRng.Find
    .Text = ".^w"
    .Replacement.Text = "."
    .Execute Replace:=wdReplaceAll
  End With
  
  'Кодовая последовательность заменяется на абзац
  With oRng.Find
    .Text = B
    .Replacement.Text = "^p"
    .MatchWildcards = False
    .Execute Replace:=wdReplaceAll
  End With
  'Преобразование в таблицу
  
  oRng.ConvertToTable ".", NumColumns:=2, InitialColumnWidth:="30"
End Sub
Лучше день потерять — потом за пять минут долететь!

5

Re: Список - в таблицу

Отлично! Очень часто приходится делать эту работу с большими списками (раньше числа до точки расставлял вручную). Теперь - все мгновенно. На последней операции макроса, правда, у меня не срабатывает, и дополнительно делаю "Преобразовать текст в таблицу" с разделителем ".", но это 2 секунды делов.
viter.alex, большое спасибо!