|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Word, авторасчет процентов |
|
2010 - [решено] Word, авторасчет процентов
|
Пользователь Сообщения: 77 |
Профиль | Отправить PM | Цитировать
Добрый день. Помогите, пожалуйста, на vba облегчить задачу. Нужно подсчитать проценты в таблице такого вида, как я прикрепила. Т.е. что там мы видим, например 71/78(92%)
нужно в эти скобки проставить правильные проценты, с округлением до двух знаков т.е. в данном случае 71/78(91,02%). Можно ли выделить всю эту таблицу запустить макрос и в скобках появились верные проценты. там таких таблиц много. Я умру все это вручную обсчитывать. |
|
Отправлено: 13:42, 07-09-2016 |
Модератор Сообщения: 16844
|
Профиль | Сайт | Отправить PM | Цитировать Elizavetta, в Excel и VBA не нужен. Может лучше в Excel?
|
------- Отправлено: 15:02, 07-09-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 77
|
Профиль | Отправить PM | Цитировать okshef, ну так покажите, как это в экселе сделать
|
Отправлено: 15:04, 07-09-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Попробуйте так:
Скрытый текст
Option Explicit Sub Sample() Dim objCell As Cell If Selection.Tables.Count = 1 Then With CreateObject("VBScript.RegExp") .Pattern = "^(\d+/\d+)(\()\d+\%(\)).*" For Each objCell In Selection.Tables.Item(1).Range.Cells If .Test(objCell.Range.Text) Then With .Execute(objCell.Range.Text).Item(0).Submatches objCell.Range.Text = .Item(0) & .Item(1) & Format(CDbl(Split(.Item(0), "/")(0)) / CDbl(Split(.Item(0), "/")(1)), "Percent") & .Item(2) End With End If Next objCell End With Else MsgBox "Please select table", vbInformation + vbOKOnly, "Need a table in selection" End If End Sub Надеюсь, у Вас не будет нуля в знаменателях, я не стал делать такую проверку. P.S. Всю таблицу, разумеется, выделять не обязательно. Необходимо и достаточно поместить внутрь неё курсор ввода. |
Последний раз редактировалось Iska, 07-09-2016 в 15:15. Причина: Добавил постскриптум. Отправлено: 15:05, 07-09-2016 | #4 |
Модератор Сообщения: 16844
|
Профиль | Сайт | Отправить PM | Цитировать Elizavetta, коллега Iska замечательный макрос представил. Что с ним делать знаете?
|
|
------- Отправлено: 15:14, 07-09-2016 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Владельцы видеокарт Nvidia могут увеличить производительность на несколько процентов | OSZone News | Новости железа | 1 | 01-05-2015 14:08 | |
Загрузка - [решено] Загруженность процессора 90-100 процентов. | kost9413 | Microsoft Windows 7 | 8 | 07-04-2013 11:58 | |
Дефицит жестких дисков составляет 35 процентов | OSZone News | Новости железа | 8 | 29-11-2011 18:42 | |
Android планшеты завоюют 15 процентов рынка в 2011 году | OSZone News | Новости информационных технологий | 0 | 19-11-2010 09:30 | |
20 процентов американцев пользуются Twitter | OSZone News | Новости информационных технологий | 0 | 23-10-2009 22:30 |
|