Excel (VBA?) - 自定义单元格格式、数字和文本间距

Excel (VBA?) - Custom Cell Formats, number and text spacing

我正在研究跟踪报告编号的 excel sheet。报告编号都遵循相同的顺序。 XX########X##,其中 X 是字母,# 是数字 0 到 9。所有报告编号都是 2 个字母后跟 8 个数字,然后是 1 个字母,然后是 2 个数字。

numbers/letters 不是随机的,而是确定报告中包含的内容。因此,习惯以特定的节奏引用它们,即: XX ### ##### X##。 如您所见,这种模式在大脑上比上面的模式容易得多。 就像 phone 数字都以特定的 ###-#### 模式表示,或者 SS 是 ### ## ####。

无论如何,我希望这些报告编号所在的列为 "display" 和 space。我将显示放在引号中,因为我不想在单元格中实际使用 space 字符。这将影响下游其他部分的价差sheet。

Excel 内置了单元格格式设置选项(单元格格式 > 自定义)。我能够使用零 (0) 创建间距模式。 例如。如果我的文件报告都是数字“1234567891234”,我可以输入一个自定义模式作为“00 000 00000 000”,它将 "display" “12 345 67891 234”。但是,我无法让它与文本和数字一起使用。我试过了 ”*”, ”@”, ”?”但没有运气。我无法在 VBA 中找到解决方案,但我怀疑这是可行的方法。 谢谢!

单元格包含文本。文本格式不能用数字格式更改。文本将始终显示为单元格中输入的内容。如果要查看空格,则单元格中需要有空格。

您没有指定数据的来源。如果不是手动输入,而是从其他系统加载的,可以使用公式在特定位置添加空格,然后隐藏原始列。

=LEFT(A1,2)&" "&MID(A1,3,3)&" "&MID(A1,6,5)&" "&RIGHT(A1,3)

=REPLACE(REPLACE(REPLACE(A1,11,0," "),6,0," "),3,0," ")