Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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数字格式的实现_Vba_Excel_Number Formatting - Fatal编程技术网

VBA数字格式的实现

VBA数字格式的实现,vba,excel,number-formatting,Vba,Excel,Number Formatting,NumberFormat似乎是一个简单的函数,但我无法让它工作,这是一个相当简单的例子。在下面的代码中,VBA告诉我“类型不匹配” j=1到最后一列+1的 f=2至总份额+1 如果分配(f-1,j-1)=空,j 1则 Allo1.单元格(AlShares.Row-1+f,j+1)=0 其他的 Allo1.单元格(AlShares.Row-1+f,j+1)=分配(f-1,j-1) 如果j=1,则Allo1.Cells(AlShares.Row-1+f,j+1).IndentLevel=1 如果j=

NumberFormat
似乎是一个简单的函数,但我无法让它工作,这是一个相当简单的例子。在下面的代码中,VBA告诉我“类型不匹配”

j=1到最后一列+1的

f=2至总份额+1
如果分配(f-1,j-1)=空,j 1则
Allo1.单元格(AlShares.Row-1+f,j+1)=0
其他的
Allo1.单元格(AlShares.Row-1+f,j+1)=分配(f-1,j-1)
如果j=1,则Allo1.Cells(AlShares.Row-1+f,j+1).IndentLevel=1
如果j=2,则Allo1.Cells(AlShares.Row-1+f,j+1).NumberFormat=“($*#,####0($*(#,###0);($*”-“?###############
如果结束
下一个f
下一个j

如果我用“Accounting”替换特定格式,它就不起作用了。请帮助!

您要求VBA减去2个字符串“…($*”-“??”这就是类型不匹配。

描述问题的有趣方式。谢谢你,它成功了,我的其他问题也消失了,因为代码的另一部分覆盖了你良好的格式设置方法!!可能是
For j = 1 To last_column + 1
    For f = 2 To total_tranches + 1
        If allocation(f - 1, j - 1) = Empty And j <> 1 Then
            Allo1.Cells(AlShares.Row - 1 + f, j + 1) = 0
        Else
            Allo1.Cells(AlShares.Row - 1 + f, j + 1) = allocation(f - 1, j - 1)
            If j = 1 Then Allo1.Cells(AlShares.Row - 1 + f, j + 1).IndentLevel = 1
            If j = 2 Then Allo1.Cells(AlShares.Row - 1 + f, j + 1).NumberFormat = "_($*#,##0_);_($*(#,##0);_($*" - "??_);_(@_)"
        End If
    Next f
Next j