Vba 忽略范围中的空白单元格

Vba 忽略范围中的空白单元格,vba,excel,Vba,Excel,这里是VBA的初学者。我试图将一系列单元格放入另一个工作簿中,当它这样做时,它会将空白粘贴为“12:00:00AM”。我试图让它完全复制过来,在目标工作簿中保留空白,就像在源工作簿中一样 当前代码 Sub GetDinServRange() With Range("A37:E111") If Not IsEmpty("A37:E111") Then With Range("A37:E111") .Formula = "='C:\FILEPATH\

这里是VBA的初学者。我试图将一系列单元格放入另一个工作簿中,当它这样做时,它会将空白粘贴为“12:00:00AM”。我试图让它完全复制过来,在目标工作簿中保留空白,就像在源工作簿中一样

当前代码

Sub GetDinServRange()

With Range("A37:E111")
    If Not IsEmpty("A37:E111") Then
        With Range("A37:E111")
            .Formula = "='C:\FILEPATH\FILE'!A37:E111"
            .Value = .Value
        End With
    End If
End With

End Sub
改变


注意:VBA中需要双引号(“”)或CHR(34),以使双引号出现在实际的Excel公式中。

目标单元格具有日期格式。改变这个。否则,在0/为空的情况下,将公式更改为返回“”。您可以为值粘贴特殊值。这将删除源工作簿中存在的任何公式/etc。请尝试在公式中使用
If
,如果该公式为空,则将其放入
“”
.Formula = "='C:\FILEPATH\FILE'!A37:E111"
.Formula = "=IF(ISBLANK('C:\FILEPATH\FILE'!A37:E111),"""",'C:\FILEPATH\FILE'!A37:E111)"
.Formula = "=IF(ISBLANK('C:\FILEPATH\FILE'!A37:E111)," & CHR(34) & CHR(34) & ",'C:\FILEPATH\FILE'!A37:E111)"