2014-09-03 147 views
0

我使用部分填充数据的双数组工作,然后将其打印到n Excel表中的范围。vba将数组值设置为NaN

问题是,所有的值都是默认值0.我希望它们是NaN(不是数字),它在单元格中表示为NV()。如果可能的话,双数组应该自动转换为NV()。

+1

'= NV()'在Excel提高了'#NAME?错误值。 – 2014-09-03 14:47:33

+0

NV()是NA()的德语:http://office.microsoft.com/de-de/excel-help/nv-funktion-HA102752925.aspx – EvenPrime 2014-09-03 15:12:36

回答

1

相反的声明您的数组为双只维持它的变体

然后你就可以初始化#NA阵列使用CVErr(xlErrNA)

Sub MyInitializer() 
Dim Arr(10) 

'Initialize all values to #NA 
For i = 0 To UBound(Arr) 
Arr(i) = CVErr(xlErrNA) 
Next 

'Do something with Arr values 
Arr(1) = 2.5 

Dim Destination As Range 
Set Destination = Range("K1") 
Set Destination = Destination.Resize(UBound(Arr), 1) 
Destination.Value = Application.Transpose(Arr) 

End Sub