Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Word, авторасчет процентов

Ответить
Настройки темы
2010 - [решено] Word, авторасчет процентов

Пользователь


Сообщения: 77
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: Elizavetta
Дата: 03-10-2016
Добрый день. Помогите, пожалуйста, на vba облегчить задачу. Нужно подсчитать проценты в таблице такого вида, как я прикрепила. Т.е. что там мы видим, например 71/78(92%)
нужно в эти скобки проставить правильные проценты, с округлением до двух знаков т.е. в данном случае 71/78(91,02%). Можно ли выделить всю эту таблицу запустить макрос и в скобках появились верные проценты. там таких таблиц много. Я умру все это вручную обсчитывать.

Отправлено: 13:42, 07-09-2016

 

Модератор


Moderator


Сообщения: 16844
Благодарности: 3247

Профиль | Сайт | Отправить PM | Цитировать


Elizavetta, в Excel и VBA не нужен. Может лучше в Excel?

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 15:02, 07-09-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 77
Благодарности: 2

Профиль | Отправить PM | Цитировать


okshef, ну так покажите, как это в экселе сделать

Отправлено: 15:04, 07-09-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить 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


Модератор


Moderator


Сообщения: 16844
Благодарности: 3247

Профиль | Сайт | Отправить PM | Цитировать


Elizavetta, коллега Iska замечательный макрос представил. Что с ним делать знаете?

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 15:14, 07-09-2016 | #5



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Word, авторасчет процентов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Владельцы видеокарт 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




 
Переход