Тема: Разделитель разрядов чисел
Здравствуйте.
Можно ли в Word'е сделать так, чтобы числа при вводе автоматически разбивались на разряды? При этом никаких вычислений с ними производить не нужно.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте.
Можно ли в Word'е сделать так, чтобы числа при вводе автоматически разбивались на разряды? При этом никаких вычислений с ними производить не нужно.
Пока нашел в сети пакет макросов Методичка. В числе его возможностей (см. раздел Математика) разделение чисел на разряды тысяч (по 3 цифры).
Спасибо.
Я видел этот пакет макросов, но его может быть сложно поставить на работе.
Насколько я понял, в 2007 речь идет про создание своего формата нумерации списков.
23, нужно разделять разряды в числах, которые находятся в тексте? Это можно делать макросом.
Sub GroupDigits()
Dim SelectionStart As Long
Dim SelectionEnd As Long
SelectionStart = Selection.Start
SelectionEnd = Selection.End
Selection.EndKey wdStory, wdMove
With Selection.Find
.Text = "[0-9]{4;}"
.MatchWildcards = True
.Forward = False
While .Execute
If Not .Parent.Previous Is Nothing Then
If .Parent.Previous.Text <> "," Then
.Parent.Text = FormatNumber(CDbl(.Parent.Text), 0, GroupDigits:=vbTrue)
Selection.Collapse wdCollapseStart
End If
Else
.Parent.Text = FormatNumber(CDbl(.Parent.Text), 0, GroupDigits:=vbTrue)
End If
Wend
End With
Selection.SetRange SelectionStart, SelectionEnd
End Sub
Спасибо!
Именно о этом я и мечтал.
А можно сделать то же самое в функции, которую можно вставить в поле слияния?
Например вот так:
{GroupDigits({ROUND({MERGEFIELD Сумма};2)})}
Великолепный скрипт!
Подскажите пожалуйста, а как вместо пробелов сделать разделителем запятую? Я пробовал наугад поменять все, максимум, что удалось, это чтобы появились десятичные знаки.
И еще может кто-нибудь подскажет, в документе есть годы (2012, 2013 и тп), как бы сделать, чтобы макрос их не трогал? Сам пока придумал только после замены искать числа 2,012 и менять их обратно.
Нашел в инете строчку .font.color=rgb(112,48,160) и добавил ее после .text="[0-9]{4;}"
И теперь макрос будет прелбразовывать только числа выделенные фиолетовым, т.е. красим в экселе цифры фиолетовым, даты вроде 2012 оставляем черными и он их трогать не будет.
Но вот как сделать, чтобы разделителем была запятая, так и не нашел
Нашел в инете строчку .font.color=rgb(112,48,160) и добавил ее после .text="[0-9]{4;}"
И теперь макрос будет прелбразовывать только числа выделенные фиолетовым, т.е. красим в экселе цифры фиолетовым, даты вроде 2012 оставляем черными и он их трогать не будет.
Это работает только в Excel?
Нет, цифры можно покрасить в фиолетовый цвет уже в ворде, и макрос вставит разделитель тольк в них
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться