excel - 我的 VBA 代码的“elseif”部分有效,但“if”无效
问题描述
我试图调整 excel 工作表中许多值的小数。
目标是:
- 对于大于 100 的值,没有小数;
- 对于小于 100 但大于 10 的值,保留一位小数;和
- 对于小于 10 的值,两位小数
我认为使用 VBA 会很简单,即使我以前从未使用过它。不幸的是我错了。请在下面查看我的代码。由于某些原因,只有代码的“elseif”部分有效。对于低于 100 的值,将正确调整小数。不过,我的代码的“if”部分并非如此。
代码似乎也适用于范围之外的单元格(A1:D11)(只要我选择它们);这很好,因为我的工作表很大。我不明白为什么。
如果您能阐明这些奥秘,我将不胜感激。
Sub adjust_decimal()
'
'
'
'
Dim cell As Range
For Each cell In Range("A1:D11")
If cell.Value > 100 Then
Selection.NumberFormat = "0;General"
ElseIf cell.Value < 100 Then
Selection.NumberFormat = "[<10]0.00;[<100]0.0;General"
End If
Next cell
End Sub
解决方案
您可以使用一行代码:
Range("A1:D11").NumberFormat="[<10]0.00;[<100]0.0;0"
.
使用此规则,10 以下的数字将有 2 个小数,等于或大于 10 但低于 100 的数字将有 1 个小数,任何其他情况都是整数。
请注意,这仅适用于格式,它根本不会改变值。如果值为 200,55,您将看到它为 201,但在涉及该单元格的任何计算中使用的数值将使用 200,55,而不是 201。
推荐阅读
- java - Spring AOP切面不拦截注解的方法
- missing-data - 使用具有 NaN 值的 SMOTE
- java - 等价于 graal.js 脚本引擎中的 Nashorn 的 importPackage
- sql-server - 执行 SQL Server 的任务怎么可能被并行调用?
- android - 如何获取触摸事件的绝对位置?
- git - 克隆外部(远程)存储库时的建议
- ios - 在 iOS13 上编辑加载到 WKWebview 上的 HTML 文件时围绕 html 内容的边框
- python - PyMySQL:连接被主机中的软件中止
- xaml - 如何防止在uwp中特定宽度和高度后窗口缩小
- c# - 使用 BitMiracle.LibTiff.Net 库将 JPEG 转换为 TIFF 图像 C# 时未获得预期输出