Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 24739|回复: 7

[已解决]VBA怎样快速设置保留两位小数问题

[复制链接]
发表于 2015-1-6 15:43 | 显示全部楼层 |阅读模式
本帖最后由 龙送农 于 2015-1-6 16:49 编辑

[b5:p18]、[b22:p35]、[b39:p52]、[b56:p69]、[b73:p86]等区域用VBA怎样快速设置保留两位小数?

最佳答案
2015-1-6 16:32
  1. Sub t()
  2.    Dim rng As Range, arr, rn As Range, i&, j%
  3.    Set rng = Union([b5:p18], [b22:p35], [b39:p52], [b56:p69], [b73:p86])
  4.    For Each rn In rng.Areas
  5.        arr = rn.Value
  6.        For i = 1 To UBound(arr)
  7.            For j = 1 To UBound(arr, 2)
  8.                If IsNumeric(arr(i, j)) And Len(arr(i, j)) Then arr(i, j) = Round(arr(i, j), 2)
  9.            Next
  10.         Next
  11.         rn = arr
  12.    Next
  13. End Sub
复制代码
发表于 2015-1-6 15:50 | 显示全部楼层
  1. Union([b5:p18], [b22:p35], [b39:p52], [b56:p69], [b73:p86]).NumberFormatLocal = "0.00"
复制代码
回复

使用道具 举报

发表于 2015-1-6 15:52 | 显示全部楼层
Sub Click()
    Range("b5:p18,b22:p35,b39:p52,b56:p69,b73:p86").NumberFormat = "0.00"
End Sub


改成你的区域
回复

使用道具 举报

 楼主| 发表于 2015-1-6 16:22 | 显示全部楼层
两位老师:我要的效果是四舍五入保留两位小数。
回复

使用道具 举报

 楼主| 发表于 2015-1-6 16:25 | 显示全部楼层
爱疯 发表于 2015-1-6 15:52
Sub Click()
    Range("b5:p18,b22:p35,b39:p52,b56:p69,b73:p86").NumberFormat = "0.00"
End Sub

两位老师:我要的效果是四舍五入保留两位小数。两位小数后面的数位删除。

回复

使用道具 举报

 楼主| 发表于 2015-1-6 16:26 | 显示全部楼层
xdragon 发表于 2015-1-6 15:50

两位老师:我要的效果是四舍五入保留两位小数。两位小数后面的数位删除。
回复

使用道具 举报

发表于 2015-1-6 16:32 | 显示全部楼层    本楼为最佳答案   
  1. Sub t()
  2.    Dim rng As Range, arr, rn As Range, i&, j%
  3.    Set rng = Union([b5:p18], [b22:p35], [b39:p52], [b56:p69], [b73:p86])
  4.    For Each rn In rng.Areas
  5.        arr = rn.Value
  6.        For i = 1 To UBound(arr)
  7.            For j = 1 To UBound(arr, 2)
  8.                If IsNumeric(arr(i, j)) And Len(arr(i, j)) Then arr(i, j) = Round(arr(i, j), 2)
  9.            Next
  10.         Next
  11.         rn = arr
  12.    Next
  13. End Sub
复制代码
回复

使用道具 举报

发表于 2015-1-6 16:33 | 显示全部楼层
Sub Click2()
    Dim x As Range
    For Each x In Range("b5:p18,b22:p35,b39:p52,b56:p69,b73:p86")
       x = Round(x, 2)
    Next
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-12 19:11 , Processed in 0.251773 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表