Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Word, авторасчет процентов (http://forum.oszone.net/showthread.php?t=318553)

Elizavetta 07-09-2016 13:42 2666497

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

okshef 07-09-2016 15:02 2666514

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

Elizavetta 07-09-2016 15:04 2666516

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

Iska 07-09-2016 15:05 2666518

Попробуйте так:
Скрытый текст
Код:

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. Всю таблицу, разумеется, выделять не обязательно. Необходимо и достаточно поместить внутрь неё курсор ввода.

okshef 07-09-2016 15:14 2666520

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


Время: 12:27.

Время: 12:27.
© OSzone.net 2001-