2016-08-04 98 views
0

如果.Formula = "='C:\data\[adxl364.xls]ADXL364_QC'!A1"的结果为空,它会在我的Worksheet中返回值0VBA使用.Formula in Excel在Range.Value为空时返回0

如果Cell为空时,我应该在代码中添加什么,以便不返回值0

Sub GetRange() 
    With Range("A:Z") 
     .Formula = "='C:\data\[adxl364.xls]ADXL364_QC'!A1" 
     .Formula = .Value 
    End With 
End Sub 

回答

1

您可以使用函数:=IF(ISBLANK('C:\data\[adxl364.xls]ADXL364_QC'!A1);"";'C:\data\[adxl364.xls]ADXL364_QC'!A1)

1

您需要修改公式返回一个空字符串时,” ..!A1" 不= 0

Sub GetRange() 
    With Range("A:Z") 
     .Formula = "=If('C:\data\[adxl364.xls]ADXL364_QC'!A1 > 0,'C:\data\[adxl364.xls]ADXL364_QC'!A1,Text(,))" 
     .Formula = .Value 
    End With 
End Sub 

我用文字()返回一个空字符串,而不是双引号增加了一倍(如“”,“”):

"=If('C:\data\[adxl364.xls]ADXL364_QC'!A1 > 0,'C:\data\[adxl364.xls]ADXL364_QC'!A1,"""")" 
+0

谢谢@Thomas Inzina,这也是我一直在尝试做的。但是,没有工作。 –

+0

= IF('C:\ data \ [adxl364.xls] ADXL364_QC'!A1 = 0,“”,'C:\ data \ [adxl364.xls] ADXL364_QC'!A1) –

+0

感谢您的支票! – 2016-08-04 07:35:24