excel - .NumberFormat 不适用于使用 SUMIFS 的单元格
问题描述
我想使用印度货币逗号分隔样式格式化一系列单元格,即将默认格式设置123,456,789
为12,34,56,789
,并且我正在使用以下代码:
LastCompoundInterval = Range("B" & Rows.Count).End(xlUp).Row
Range("F2:F" & LastCompoundInterval).Formula = "=SUMIFS($I$2:$I$" & LastTransaction & ",$H$2:$H$" & LastTransaction & ","">"" & B2, $H$2:$H$" & LastTransaction & ",""<="" & C2)"
With Range("F2:F" & LastCompoundInterval)
.NumberFormat = "[>=10000000]##\,##\,##\,##0;[>=100000] ##\,##\,##0;##,##0"
End With
上述数字格式按预期适用于其他范围,但默认数字格式继续用于范围 F
解决方案
作为一个独立的 Excel 解决方案,我更改了您的公式以格式化它,因为它正在使用TEXT()
.
LastCompoundInterval = Range("B" & Rows.Count).End(xlUp).Row
Range("F2:F" & LastCompoundInterval).Formula = "=TEXT(SUMIFS($I$2:$I$" & LastTransaction & ",$H$2:$H$" & LastTransaction & ","">"" & B2, $H$2:$H$" & LastTransaction & ",""<="" & C2),""[<=9999999]###,####;###,###,####"")"
对于 VBA 解决方案,这将通过添加对工作簿/工作表的引用来帮助指导您。请务必将“Sheet1”更改为工作表的名称。
LastCompoundInterval = Workbooks(ThisWorkbook).Worksheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row
Workbooks(ThisWorkbook).Worksheets("Sheet1").Range("F2:F" & LastCompoundInterval).Formula = "=SUMIFS($I$2:$I$" & LastTransaction & ",$H$2:$H$" & LastTransaction & ","">"" & B2, $H$2:$H$" & LastTransaction & ",""<="" & C2)"
With Workbooks(ThisWorkbook).Worksheets("Sheet1").Range("F2:F" & LastCompoundInterval)
.NumberFormat = "[>=10000000]##\,##\,##\,##0;[>=100000] ##\,##\,##0;##,##0"
End With
推荐阅读
- apache-spark - PySpark:如何过滤来自列表的多个列?
- keycloak - 使用 Keycloak 进行身份验证的 Samba 用户
- python - 如何将 youtube 字幕放入列表中?
- haskell - 如何在 Haskell 中对自定义数据类型进行类型检查?
- quasar-framework - 用于聊天输入的 Quasar 文本区域
- node.js - 如何使用 axios withcredentails 在快速会话中访问 cookie
- systemd - 可以在无根 podman 容器中进行系统化吗?
- callback - 在干净的架构中处理来自外部设备的回调是否有一个优雅的解决方案?
- react-native - 在渲染方法中调用组件的不同方法 [REACT-NATIVE]
- python - 如果仅使用 python 使用 KNN 进行分类时,如果两个类是并列的,如何获得具有最小总和距离的标签?