这是我第一次使用这个论坛,我的VBA技能并没有得到很好的发展。我希望有人能帮忙。
我有两列数据,A列和B列 列A-返回连续的"月-年"或0。如果电子表格当前日期(=now())小于二月,则二月的单元格返回0。 列B-我希望此列检查列A中的每个单元格。如果列A的单元格有日期标识符,我希望将其放在列B中。如果列B的标识符为0,我希望列B返回一个"空"单元格。 我这样做的原因是我正在绘制条形图。当我欺骗程序制作一个空单元格(x轴)时,图形不会显示当月的任何数据(这正是我想要的)。试图制作一个动态图形,但我没有VBA方面的经验(只有C编程=/)。
执行此操作不需要VBA(甚至不需要公式)。高亮显示列A(整列),复制它。高亮显示列B(整个列,右键单击,特别粘贴,选择值和数字格式,好吗。再次高亮显示列B。按Ctrl+H,在"查找内容"中键入0(否则可能是00/01/1900),将"替换为"留空。勾选匹配整个单元格内容。单击全部替换。完成。
不要尝试空白(这是不可能的,因为该单元格中有一个公式),而是使用错误条件
使用此公式,并向下复制:
=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;如果F89,则返回A3:A9。