Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 带0位小数但带千位分隔符的NumberFormat“'&引用;_Vba_Excel - Fatal编程技术网

Vba 带0位小数但带千位分隔符的NumberFormat“'&引用;

Vba 带0位小数但带千位分隔符的NumberFormat“'&引用;,vba,excel,Vba,Excel,我想要像这样的整数:14'119'838-它也可以是0。如果我尝试这样做: Range("C3:H14").NumberFormat = "0" 撇号“千”分隔符消失。如果我将NumberFormat设置为“General”,则没有千位分隔符。。。。我怎么能有0个小数位,但有漂亮的千位分隔符 谢谢将您的数字格式从“0”更改为: Range("C3:H14").NumberFormat = "#,##0" 您必须将您的号码从at更改为: Range("C3:H14").NumberFormat

我想要像这样的整数:
14'119'838
-它也可以是0。如果我尝试这样做:

Range("C3:H14").NumberFormat = "0"
撇号“千”分隔符消失。如果我将NumberFormat设置为“General”,则没有千位分隔符。。。。我怎么能有0个小数位,但有漂亮的千位分隔符


谢谢

将您的
数字格式
“0”
更改为:

Range("C3:H14").NumberFormat = "#,##0"

您必须将您的号码从at更改为:

Range("C3:H14").NumberFormat = "#'###'##0"
如果使用此
范围(“C3:H14”).NumberFormat=“#,##0”
公式,您将获得英文数字格式。 由于您要求使用“'”分隔符,因此需要使用“#”######0”数字格式才能获得瑞士数字格式


按数字长度更改数字格式的代码

For Each Rng In Range("a1:B5")

 Select Case Len(Rng.Value) 'hier Spalte A
    Case Is < 4: Rng.NumberFormat = "##0"

    Case 4 To 6: Rng.NumberFormat = "#'##0"

    Case 7 To 11: Rng.NumberFormat = "#'###'##0"

    End Select
    Next
范围内每个Rng的
(“a1:B5”)
选择案例长度(Rng.Value)'hier Spalte A
大小写为<4:Rng.NumberFormat=“##0”
案例4至6:Rng.NumberFormat=“#”###0”
案例7至11:Rng.NumberFormat=“#”#####0”
结束选择
下一个

好吧,抱歉我迟到了,这里有另一个解决方案:

Option Explicit
Sub again()
    Dim rng As Range
    set rng = ThisWorkbook.Worksheets("Sheet1").Range("C3:H14")
    Application.UseSystemSeparators = False
    Application.ThousandsSeparator = "'"
    rng.NumberFormat = "#,##0"
End Sub

如果您有其他数字格式,您不想用“'”分隔,那就不行了,因为它将默认的Excel分隔符替换为“'”

,这将为您提供英文数字格式。但是他选择了瑞士数字格式。@Moosli对不起,在他的帖子里哪里提到了?我找不到任何关于“瑞典人”这个词的参考资料。。。他没有直接要求,但他举例说明了数字应该是什么样子。在滴度中,他要求使用带有单引号的千位分隔符,而不是逗号作为另一个答案中的注释-如果数字为0,我希望避免使用千位分隔符。如果数字很大,我还需要一个“百万分之一”分隔符enough@dv3你可以试试这个解决方案。Excel应该自己保存格式,您将拥有正确的数字格式。这将导致两个问题:1。少数单元格为0,因此更改格式后将为“'0”。2.问题是,这忽略了第二个或百万分隔符。e、 g.1234'567并非如此pretty@dv3然后将其更改为“#”#######0”@Moosli的结果是34343424的“343”424。我认为dv3想要的是在一个数字的开头去掉多余的“'”。我想可以用
select case
来完成,但是你需要在一个范围内运行每个单元格,这肯定会降低性能。@AntiDrondert你的问题完全正确-你能给我一个截取的代码吗?性能是次要的,因为板材非常小