Показать полную графическую версию : [решено] Word, авторасчет процентов
Elizavetta
07-09-2016, 13:42
Добрый день. Помогите, пожалуйста, на vba облегчить задачу. Нужно подсчитать проценты в таблице такого вида, как я прикрепила. Т.е. что там мы видим, например 71/78(92%)
нужно в эти скобки проставить правильные проценты, с округлением до двух знаков т.е. в данном случае 71/78(91,02%). Можно ли выделить всю эту таблицу запустить макрос и в скобках появились верные проценты. там таких таблиц много. Я умру все это вручную обсчитывать.
Elizavetta, в Excel и VBA не нужен. Может лучше в Excel?
Elizavetta
07-09-2016, 15:04
okshef, ну так покажите, как это в экселе сделать:)
Попробуйте так:
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. Всю таблицу, разумеется, выделять не обязательно. Необходимо и достаточно поместить внутрь неё курсор ввода.
Elizavetta, коллега Iska замечательный макрос представил. Что с ним делать знаете?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC