广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-03-11
    【导读】:
    日常工作中,经常要在excel表格中进行统计工作,例如,月末根据货品盘点表和库存表,统计未盘点货品,年末根据库存商品和销售商品表格,统计滞销商品等等,为我们的数据分析奠定基础,这种统计性质的工作重复繁杂,时刻考验着有关工作人员的耐心和细心,工作量大且容易出错,其实类似这样的工作表对比的工作,用excel中vba代码进行自动统计,能够大幅的提高工作效率,实现办公的自动化。下面,我们以excel2010为例,来分享一下自动统计的方法:工具/原料moreexcel2010工作表方法/步骤1/6分步阅读

    如下图所示:A列是仓库库存商品编码,B列是已经盘点过的商品编码,我们需要统计出尚未盘点的商品编码并将其放置在C列。

    首先我们来分析解决这个问题的方法是;先取A列A2单元格,然后分别取B列中的B2到B9单元格中的值跟A2单元格中的值对比,如果有相同的,说明已经盘点过,再取A列中的A3单元格,然后分别取B列中的B2到B9单元格中的值跟A3单元格中的值对比,如果有相同的,说明已经盘点过,继续取值对比,如果没有相同的,说明没有盘点过,将其写入C列单元格中。

    2/6

    根据上述分析,我们应该用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

    3/6

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

    4/6

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

    5/6

    鼠标放在矩形上,右键单击,点击【指定宏】,将宏名【Sub 统计未盘点货品】指定给这个矩形,点击【确定】。

    点击矩形即可运行此代码了,清除列数据,点击矩形,可以看出,未盘点数据已经统计出来并被写入C列了。

    6/6

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

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_319706.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 18:25:12  耗时:0.028
    0.0282s