用excel中vba代码实现自动统计
来源:网络收集 点击: 时间:2024-03-11如下图所示: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选项】中点击【自定义功能区】,将【主选项卡】下的【开发工具】前面的勾勾勾选上。点击【确定】即可。


版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_319706.html