【发布时间】:2015-11-03 05:57:56
【问题描述】:
我首先要说我大约一周前刚开始自学 VBA,所以我可能问的问题不正确,但是...
我正在尝试在 Word VBA 中编写一个循环,该循环将增加一个从书签中检索到的文本部分计算的数字。我希望它四舍五入到最接近的 0.05,因此 .87 变为 .90,而 .21 变为 .25。
我写的模块如下:
A = ActiveDocument.Bookmarks("SRebateIncome").Range.Text
B = ActiveDocument.Bookmarks("RebateDefault").Range.Text
C = ((A - 6000) * 0.15)
D = B - C
E = B + D
F = (18200 + ((445 + E) / 0.19)) + 1
G = (0.19 * 18200) + 445 + E + (37000 * (0.015 + 0.325 - 0.19))
H = (G / (0.015 + 0.325)) + 1
I = ActiveDocument.Bookmarks("TRebateIncome").Range.Text
If F < 37000 = True Then
J = (0.125 * (I - F))
Else
J = (0.125 * (I - H))
End If
K = E - J
K = Format(Round(K, 2), "###,##0.00")
'round K up to the nearest .00 or .05
If K <> "###,###.#0" = False or K <> "###,###.#5") = False Then
Do
K = K + 0.01
Loop Until K = "###,###.#0" = True or K <> "###,###.#5") = True
End If
Set RebateOutput = ActiveDocument.Bookmarks("RebateOutput").Range
RebateOutput.Text = K
现在假设书签“SRebateIncome”、“RebateDefault”和“TRebateIncome”的输入值分别为 10175、1602 和 43046,我预计输出为 1460.80,但“K”返回为 1460.78。
在这个阶段,我对在 word 中使用 Excel 一无所知(除了将电子表格复制/粘贴到文档中,我不想这样做)。
任何帮助将不胜感激
谢谢!
【问题讨论】:
-
乘以 20,四舍五入到最接近的整数,然后除以 20。