发布网友 发布时间:2022-04-21 08:13
共5个回答
热心网友 时间:2023-11-07 17:30
excel
vba
是不接受
trunc
函数
worksheetfunction.trunc(target)
可改成以下其中一个,
与trunc
的计算结果是一样的
worksheetfunction.rounddown(target,2)
worksheetfunction.floor(abs(target),1)*sgn(target)
int(abs(xx))*sgn(target)
←这个无需加上worksheetfunction
其实最常用是
int(target),
但
int
对于负数是与trunc有分别的
另顺带一提,
一些旧版本excel是不能用worksheetfunction,
要改成
application,
如
application.rounddown(target,2)
新版本(excel
2000或之后),
两种都可以
以下的vba刚测试过,
可行。
function
f(byval
target
as
range)
as
double
f
=
worksheetfunction.sumproct(application.rounddown(target,
0))
end
function
=f(a1:a100)
与
=sumproct(trunc(a1:a100))
的效果是相同
热心网友 时间:2023-11-07 17:30
哦,在vba里,单元格里的值就是一个变量啊!!
比如在sheet1的A1里存在一个10000
你在vba里要让这个数值除以1000后把结果显示在B1里。那么你可以写如下代码
sheet1.cells(1,2)=sheet1.cells(1,1)/1000
就这么一句就ok了!!
如果你要多个单元格的结果的话,那么就应用循环控制了,就可以实现了。
热心网友 时间:2023-11-07 17:31
Sub Chu()
for each c in selection
c.Value = c.Value/1000
next c
End Sub
-----------------
选中你的单元格区域执行此宏即可
热心网友 时间:2023-11-07 17:31
1、写一个宏方法
Sub Macro1()
ActiveCell.Value2 = ActiveCell.Value2 / 1000
End Sub
2、菜单/工具/宏/运行
选择 Macro1
热心网友 时间:2023-11-07 17:32
以下是每选中一个单元格就会告知单元格除以1000的值
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim aaa
aaa = Target.Value / 1000
MsgBox aaa
End Sub
自己去运用这个aaa吧