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

Vba Excel宏-在单元格范围内搜索0,然后返回“空”单元格,vba,excel,Vba,Excel,这是我第一次使用这个论坛,我的VBA技能还没有很好的发展。我希望有人能帮忙 我有两列数据,A列和B列 列A-返回连续的月份或年份0。如果电子表格当前日期=现在小于2月,则2月的单元格返回0 列B-我希望此列检查列A中的每个单元格。如果列A单元格具有日期标识符,我希望将其放置在列B中。如果列A具有0标识符,我希望列B返回空单元格 我这样做的原因是我在画一个条形图。当我诱使程序生成一个空单元格x轴时,图表不会显示我想要的那个月的任何数据。尝试创建动态图形,但我没有VBA only C编程的经验=/。

这是我第一次使用这个论坛,我的VBA技能还没有很好的发展。我希望有人能帮忙

我有两列数据,A列和B列

列A-返回连续的月份或年份0。如果电子表格当前日期=现在小于2月,则2月的单元格返回0

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


我这样做的原因是我在画一个条形图。当我诱使程序生成一个空单元格x轴时,图表不会显示我想要的那个月的任何数据。尝试创建动态图形,但我没有VBA only C编程的经验=/。

您不需要VBA,甚至不需要公式。 高亮显示A列—复制整个列。 高亮显示B列整个列,单击鼠标右键,粘贴特殊项,选择值和数字格式,确定。 再次突出显示B列。按Ctrl+H,键入0或在“查找内容”中键入00/01/1900失败,将“替换为”保留为空。勾选匹配整个单元格内容。单击“全部替换”。
完成。

使用错误条件,而不是尝试寻找不可能的空白,因为该单元格中有一个公式。 使用此公式,然后向下复制:

=IF(A1=0,NA(),A1)
这将返回错误条件NA!Excel会将该列留空

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

您不需要VBA来执行此操作=如果1=0,,A1,则向下拖动公式。Hi Ripster,我尝试了此操作,但没有返回真正的空格,因此0将显示在我的x轴图形上。我认为需要使用VBA和assign=blank命令。嗨,菲尔,我明白你的意思,但这不是我想要的。我想做一个持续一年的动态条形图。此时,列A根据一个单元格链接更改为Now命令,即当前日期。因此,如果电子表格上的当前日期为2013年8月,我的开始日期为2013年6月,则x轴值将为2013年6月和2013年7月,其余为0。现在,如果我诱使B列返回一个空格,图形将不会绘制0。基本上,我希望条形图随着时间的推移而更新。不需要特别粘贴,只需粘贴即可。然后重复Ctrl+H位。B列将保留A列中的公式。干杯。我明白了,但我希望图表自动更新。每次我打开电子表格时,电子表格将检查当前日期并相应更新。我想我需要一个宏。我真的不明白你的意思。我将留给您VBA代码,以获取空单元格,因为这是您最初想要的。Sub Main:ColumnsA.Copy:ColumnsB.PasteSpecial:ColumnsB.Replacement What:=0,Replacement:=Empty:End Sub