用excel中vba代码实现自动统计

作者:彼岸花开 | 创建时间: 2023-03-18
日常工作中,经常要在excel表格中进行统计工作,例如,月末根据货品盘点表和库存表,统计未盘点货品,年末根据库存商品和销售商品表格,统计滞销商品等等,为我们的数据分析奠定基础,这种统计性质的工作重复繁杂,时刻考验着有关工作人员的耐心和细心,...
用excel中vba代码实现自动统计

操作方法

如下图所示:A列是仓库库存商品编码,B列是已经盘点过的商品编码,我们需要统计出尚未盘点的商品编码并将其放置在C列。 首先我们来分析解决这个问题的方法是;先取A列A2单元格,然后分别取B列中的B2到B9单元格中的值跟A2单元格中的值对比,如果有相同的,说明已经盘点过,再取A列中的A3单元格,然后分别取B列中的B2到B9单元格中的值跟A3单元格中的值对比,如果有相同的,说明已经盘点过,继续取值对比,如果没有相同的,说明没有盘点过,将其写入C列单元格中。

根据上述分析,我们应该用vba中的for   next循环语句解决问题. 点击【开发工具】(如果电脑选项卡中没有【开发工具】,参看下方⑥调出【开发工具】选项卡)选项卡下的【visual   basic】,点击【视图】下的【代码窗口】,在代码窗口录入代码: Sub 统计未盘点货品() Dim r As Range, rr As Range, k As Integer For Each r In Sheet2.Range("a2:a19") a = r.Value For Each rr In Sheet2.Range("b2:b9") b = rr.Value If r = rr Then GoTo line Next rr k = k + 1 Sheet2.Cells(k + 1, 3) = r line: Next r End Sub

点击如下图所示的vba的运行按钮,或者点击【宏】,在【宏名】右侧选择框内选择【Sub 统计未盘点货品】,点击【执行】按钮。

可以看到,尚未盘点的货品编号已经统计出来并被写入C列了。我们可以验证一下是正确的。如果经常执行此代码,大家还可以插入一个快捷按钮来执行。点击【插入】/【形状】,选择一个自己喜欢的形状,例如我们选择一个矩形。

鼠标放在矩形上,右键单击,点击【指定宏】,将宏名【Sub 统计未盘点货品】指定给这个矩形,点击【确定】。 点击矩形即可运行此代码了,清除列数据,点击矩形,可以看出,未盘点数据已经统计出来并被写入C列了。

如果上述步骤中我们的excel2010中【开发工具】没有调出来,可以通过下述步骤调出:点击excel左上角的【文件】/【选项】,在【excel选项】中点击【自定义功能区】,将【主选项卡】下的【开发工具】前面的勾勾勾选上。点击【确定】即可。

点击展开全文

更多推荐