Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2010, 01:25   #1
Окоча Юра
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 122
По умолчанию МАКРОС_ДОБАВЛЕНИЕ В ЧИСЛАХ НУЛЕЙ, ПОСЛЕ ЗАПЯТОЙ

ВСЕМ ДОБРОЙ НОЧИ! ВОПРОСИК: У МЕНЯ ЕСТЬ ТАБЛИЦА В ВОРДЕ С РЯДОМ ЧИСЕЛ, НАПРИМЕР С ЧИСЛАМИ: 2,3,4,5,6,7 И Т.Д. (ЦЕЛЫЕ), А ЕСТЬ ТАКИЕ ЧИСЛА 2,36; 4,75 (С ЗАПЯТОЙ); НА ОДНОМ ЛИСТЕ НЕСКОЛЬКО ТАБЛИЦ. МОЖНО ЛИ К ЦЕЛЫМ ЧИСЛАМ АВТОМАТИЧЕСКИ ДОБАВИТЬ ",00" (ЗАПЯТУЮ С ДВУМЯ НУЛЯМИ)?! И МОЖНО ЛИ ВСЕ ЭТО СДЕЛАТЬ В ЗАРАНЕЕ ВЫДЕЛЕНОМ ФРАГМЕНТЕ ТЕКСТА.
Юрик
Окоча Юра вне форума Ответить с цитированием
Старый 14.01.2010, 03:26   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию ОТВЕТИК

Можно. Составить цикл по всем ячейкам, используя
Код:
Sub Макрос2()
ActiveDocument.Tables.Item(1).Cell(1, 1).Select
'здесь ячейка (1, 1) 1-й таблицы активного документа - выделена'
x = Selection.Calculate
Selection.TypeText FormatNumber(x, 2)
End Sub
Но, боюсь, он вообще все цифры после запятой обнулит! Тогда используйте точку.

Последний раз редактировалось Sasha_Smirnov; 14.01.2010 в 05:05. Причина: пример.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 19.01.2010, 13:36   #3
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Decimal delimiter

Точнее
Код:
x = val(Selection.Text)
Только пока не скажу, срабатывает ли запятая или точка (в дробях). У кого как.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 20.01.2010, 18:12   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Как с запятой, так и с точкой сработает следующий
Код:
Sub Макросс()
If ActiveDocument.Tables.Count = 0 Then Exit Sub

With ActiveDocument.Tables.Item(1)

For Strochka = 1 To .Rows.Count
        For Kolonka = 1 To .Columns.Count
            .Cell(Strochka, Kolonka).Select
            x = Val(Replace(Selection.Text, ",", "."))
            Selection.TypeText FormatNumber(x, 2)
        Next Kolonka
Next Strochka

End With
После выполнения макроса десятичным разделителем станет тот, который указан в настройках Windows. Дроби округлятся по правилам округления.

И тоже "спецэффект": кроме чисел (если были), в ячейках всё сотрётся. А в пустых будет 0,00 (или 0.00).

Юра, Вы б сообщили свои СООБРАЖЕНИЯ на эту тему, что ли.

Последний раз редактировалось Sasha_Smirnov; 21.01.2010 в 18:04.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 04.02.2010, 12:43   #5
Окоча Юра
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 122
По умолчанию

Извини, что не ответил! Макрос не совсем тот, допусти у меня в таблице текст, можно ли чтобы текст не трогало, а токо в числах добавляло нули. Помоги, если будет время, мне с темой в екселе "сумма и копилка". Заранее благодарен.
Юрик
Окоча Юра вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение чисел на до запятой и после запятой msser Microsoft Office Excel 8 23.10.2009 11:57
2-а знака после запятой vitamin.rulez Помощь студентам 7 22.05.2009 16:02
знаки после запятой RiF Помощь студентам 10 16.12.2008 20:04
for SAS888 please help! макрос выделения цифр жирным шрифтом прописывает числа без нулей после запятой Dorvir Microsoft Office Excel 1 03.03.2008 22:39
Сокращение после запятой Romuald Microsoft Office Excel 21 18.12.2007 10:32