广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

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

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

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

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

    使用VBA选出不重复的数

    来源:网络收集  点击:  时间:2024-03-02
    【导读】:
    如下表所示,要把同一行上面选择后的剩下的数值自动填写到对应的单元格里面。如果手动填写,费时费力,难免会出错,此时可以使用VBA里面的countif函数进行统计后判断,再自动填写单元格。工具/原料more电脑Excel 2010方法/步骤1/7分步阅读

    可以把“待选数”和“已选数”看作是同一行上面的一个单元格区域,然后在VBA程序里面使用countif函数对“待选数”的个数进行统计、比较,将个数为1的选出来,填到对应的单元格里面。

    2/7

    点击菜单栏上面的【开发工具】,【Visual Basic】。

    3/7

    点击VBA编辑器菜单栏上面的【插入】,【模块】。

    4/7

    在VBA编辑器的代码框里面输入以下VBA代码程序:

    Sub Countif2()

    Dim i, j, k, l As Long

    Set mysheet1 = ThisWorkbook.Worksheets(Sheet1) 定义工作表

    For i = 2 To 1000 从第2行到1000行

    l = 17 剩余的数从第18列开始填写(后面还有+1)

    For j = 1 To 16 从第1列到16列

    Set myRange = mysheet1.Range(Cells(i, 1), Cells(i, 16)) 定于区域范围

    k = Application.WorksheetFunction.Countif(myRange, mysheet1.Cells(i, j)) 使用countif进行统计

    If k = 1 Then 如果计数个数为1,说明它没有被选择,所以将它填写到未选择列里面

    l = l + 1 每次填写后,列数增加1

    mysheet1.Cells(i, l) = mysheet1.Cells(i, j)

    End If

    Next

    Next

    End Sub

    5/7

    函数公式释义:

    (一)Range主要是VBA里面表示单元格的区域范围,如:mysheet1.Range(Cells(2, 1), Cells(2, 16))表示两个单元格之间划定的区域,等价于mysheet1.Range(A2:P2),表示的区域为A2:P2,由于行数是变量,所以没法直接使用单元格区域。

    (二)countif函数主要用来统计某一数值在单元格区域里面出现的次数,其用法为countif(查找的单元格区域,查找值)。

    6/7

    点击VBA编辑器上面的运行图标运行程序。

    7/7

    程序运行完成后,结果也计算出来了。

    注意事项

    个人经验,仅供参考。

    EXCEL计数填充
    本文关键词:

    版权声明:

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

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

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

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

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 10:32:08  耗时:0.027
    0.027s