是否可以定义保留原有数字格式的自定义Excel样式?

2ic8powd  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(133)

我有下面的VBA代码来定义一个名为AlreadyCompleted的自定义样式。这表示该行中的项目已完成。
代码为:

  1. Sub DefineAlreadyCompleted()
  2. Dim wb As Workbook
  3. Dim theNewStyle As Style
  4. Set wb = ThisWorkbook
  5. ' Check to see if Style already exists
  6. On Error Resume Next
  7. Set theNewStyle = wb.Styles("AlreadyCompleted")
  8. On Error GoTo 0
  9. ' If Style Already Exists, Do Nothing
  10. If Not theNewStyle Is Nothing Then
  11. Exit Sub
  12. End If
  13. ' Add New Style
  14. Set theNewStyle = wb.Styles.Add("AlreadyCompleted")
  15. ' Define the Formatting Properties
  16. With theNewStyle
  17. .IncludeNumber = True
  18. .Font.Strikethrough = True
  19. .Interior.Color = wb.Styles("Good").Interior.Color
  20. End With
  21. End Sub

有问题的表格有一些自定义数字格式。第一列包含“0-00000-00000”格式的mat的ID号,第5列和第6列包含“m/dd/yyyy”格式的日期。当应用此样式时,ID号将恢复为常规数字(0-12345-67890变为1234567890),日期将变为数字字符串(10/31/2025变为45961)。
有没有什么方法可以改变这个样式,以保留列中已经使用的相应数字格式,而不必编写一个子例程来返回并再次将其放回?

zujrkrfu

zujrkrfu1#

就定了

  1. .IncludeNumber = False

而不是True以不包括数字格式。
通过Excel UI添加样式时,默认情况下启用所有设置:

相关问题