Excel宏 - 搜索单元格范围为0,然后返回“空”单元格

时间:2013-07-31 13:36:22

标签: excel vba excel-vba

这是我第一次使用这个论坛,而且我的VBA技能还不是很发达。我希望有人可以提供帮助。

我有两列数据, A列 B列

A栏 - 返回顺序"月 - "如果电子表格当前日期(= now())小于2月,那么2月的单元格将返回0。

B列 - 我希望此列检查A列中的每个单元格。如果列A单元格有日期标识符,我希望将其放在B列中。如果A列的列数为0标识符,我希望B列返回"空"细胞

我这样做的原因是我正在绘制条形图。当我欺骗程序制作一个空单元格(x轴)时,图形不显示该月的任何数据(这就是我想要的)。尝试制作动态图表,但我没有VBA经验(只有C编程= /)。

2 个答案:

答案 0 :(得分:0)

您不需要VBA(甚至公式)来执行此操作。 突出显示A列(整列),复制它。 突出显示B列(整列,右键单击,选择性粘贴,选择值和数字格式,好的。 再次突出显示B列。在“找到什么”中按Ctrl + H,键入0(或者可能不是00/01/1900),将“替换为”留空。勾选匹配整个单元格内容。单击全部替换。 完成。

答案 1 :(得分:0)

不要尝试一个空的空间(这是不可能的,因为该单元格中有一个公式),请使用错误条件。
使用此公式,并复制下来:

=IF(A1=0,NA(),A1)

这将返回错误条件 #NA!,Excel将使列保持空白

另一种方法是为图表数据设置动态范围 - 我有一个图表,可以调整为5,6或7天,具体取决于本周返回的数据。 水平(类别)轴标签设置为命名范围(='Sample.xlsx'!LastWeekRange),范围检查数据,并返回适当数量的单元格。
LastWeekRange在名称管理器中定义为=OFFSET(Data!$A$3,0,0,IF(Data!$F$9>0,7,IF(Data!$F$8>0,6,5))),如果 F8 中没有任何内容,则返回 A3:A7 A3:A8 F8 中的内容,但不是 F9 A3:A9 ,如果 F9 中有内容。