【发布时间】:2016-08-03 15:40:28
【问题描述】:
我在 VBA 中编写了一个代码,它从工作簿中获取值并将它们复制到另一个工作簿。因此,例如在单元格 G20 中,我将有 45 678 然后代码将这个数字四舍五入为 46 000,然后我需要一个函数来删除最后 3 个数字,如果数字足够大,则使用下面提供的 If 语句。 我认为内容是正确的,但我认为我称其为正确的方式。
DSA.Worksheets(1).Range("G10").Value = Application.WorksheetFunction.Round(tax_declaration.Worksheets(1)Range("I72").Value, -3)
DSA.Worksheets(1).Range("G11").Value = Application.WorksheetFunction.Round(Val(Application.WorksheetFunction.Sum(Range("I25:I27"))), -3)
Call thousand(DSA.Worksheets(1).Range("G10"))
End Sub
Sub thousand(i As Variant)
If Right(i, 3) = "000" Then
i = Left(i, Len(i) - 3)
End If
End Sub`
如何创建像我的 If 语句这样的函数,并使用它来循环遍历我的所有 'DSA.Worksheets(1)Ranges' ? - 我有几个。
提前致谢!
【问题讨论】:
-
你是什么意思 - 遍历所有工作表?还是在同一个工作表中循环多个范围?
-
我的意思是在同一个工作表中循环遍历多个范围,如果不清楚,抱歉!
标签: excel vba rounding truncate