Excel中使用.Formula的VBA在Range.Value为空时返回0
如果.Formula = "='C:\data\[adxl364.xls]ADXL364_QC'!A1"
为空,它将在我的Worksheet
返回值0
。
我应该添加到代码,它不会返回值为0
时Cell
为空?
Sub GetRange() With Range("A:Z") .Formula = "='C:\data\[adxl364.xls]ADXL364_QC'!A1" .Formula = .Value End With End Sub
您可以使用以下函数: =IF(ISBLANK('C:\data\[adxl364.xls]ADXL364_QC'!A1);"";'C:\data\[adxl364.xls]ADXL364_QC'!A1)
当“..!A1”不= 0时,您需要修改公式以返回空string。
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
我使用Text(,)返回一个空string,而不是双引号(例如“”“”):
"=If('C:\data\[adxl364.xls]ADXL364_QC'!A1 > 0,'C:\data\[adxl364.xls]ADXL364_QC'!A1,"""")"