IF函数vba

我需要一个macros可以这样做:如果列AB5有一个空白单元格,然后列A5将采取列U5的值。 如果列AB5不是空白单元格(包含文本),则列A5将取AC5中的值。 这将运行AB列中的所有数据

我尝试使用IF函数=IF(ISBLANK(AB5), U5, AC5)但是如果单元格包含的文本仍然会取U5值,它将反映错误的数据。

理想情况是如果可以使用macros来完成,但是IF函数也可以!

请帮忙谢谢!

我猜你的单元格不是真正的空白。 我的猜测是AB5有公式。 尝试:

 =IF(LEN(AB5)=0,U5,AC5) 

编辑

如果它有一个单一的空间 ,而不是空的:

 =IF(LEFT(AB5,1)=" ",U5,AC5) 

要么

 =IF(LEN(AB5)<2,U5,AC5) 

也许尝试颠倒公式:

 =IF(LEN(AB5)<>0,AC5,U5) =IF(AB5<>"",AC5,U5) 

因为他们都是3字母首字母缩略词尝试这一个:

 =IF(LEN(AB5)>2,AC5,U5) 

一个万无一失的方式来确保没有空格作为input错误:

 =IF(LEN(SUBSTITUTE(AB5," ",""))=3,AC5,U5) 

让我知道,如果这些工作中的任何一个,我可以嘲讽VBAfunction,如果他们不,但他们应该工作。

你的function

 =IF(ISBLANK(AB5), U5, AC5) 

应该工作正常。 如果您拖动A列中的公式,则公式中的数字应该改变:

 =IF(ISBLANK(AB6), U6, AC6) 

这是怎么发生的? 单元格A6中的公式是什么?

 =IF(AB5="", U5, AC5) 

尝试一下,应该工作