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

时间:2019-03-13 20:47:03

标签: excel vba cell-formatting

我正在处理可跟踪报告编号的Excel工作表。报告编号均遵循相同的顺序。  XX ######### X ##,其中X是字母,而#是0到9的数字。所有报告编号是2个字母,后跟8位数字,然后是1个字母,再是2个数字。

数字/字母不是随机的,而是标识报告中包含的内容。因此,习惯以特定的节奏来引用它们,即:  XX ### ##### X ##。 如您所见,这种模式在大脑上比上述模式容易得多。 就像以特定的###-####模式或SS表示电话号码的方式是### ## #####。

无论如何,我希望这些报告编号所在的列用空格“显示”。我将显示内容放在引号中是因为我实际上不想在单元格中使用空格字符。这将影响电子表格下游的其他部分。

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

enter image description here