无论将NumberFormat设置为常规,公式都显示为文本
好吧,所以我的问题是无论NumberFormat被设置我的公式仍然显示为文本,直到我进入单元格,并回车。 我正在尝试做的是dynamic地创build一个新的列,并用公式填充第5行 – > 500的范围。 我的完整的代码如下,我已经尝试了不同的变化,如设置公式的输出专门的格式,移动.NumberFormat =
公式设置后的With
块内。
我也尝试过了。 .Calculate
范围来尝试重新计算。 这个公式是多么简单并不重要,它仍然不喜欢它。
Sub AddHaulageRows() If ActiveSheet.Name Like "WK*" Or ActiveSheet.Name = "WTemplate" Then If ActiveSheet.Cells(3, 16).Value <> "Haulage Rate" Then Columns("P:P").Insert Shift:=xlToRight ', CopyOrigin:=xlFormatFromLeftOrAbove ActiveSheet.Cells(3, 16).Value = "Haulage Rate" ActiveSheet.Range("P5:P500").NumberFormat = "General" With ActiveSheet.Range("P5:P500") 'Setting formula to the most simplest thing I can do. .FormulaR1C1 = "=TRUE" End With Else Columns("P:P").Delete Shift:=xlToLeft End If Else MsgBox "Cannot add row as this is not a valid weekly sheet.", vbCritical End If End Sub
奇怪的是,它在我的工作簿中的一些工作表上,而不是其他人。 在一些表单上,它只是给出了一个1004 Application-defined or object-defined
错误。 这些表都符合相同的模板。
首先我会试试这个:
With ActiveSheet.Range("P5:P500") .NumberFormat = "General" .FormulaR1C1 = "=TRUE" End With
有时单独的格式会导致覆盖