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