计算列表框中的重复项并显示重复次数

时间:2014-08-18 14:56:20

标签: vba excel-vba excel

我有一个列表框,由我添加设备填充,列表框允许在设备上有重复,因为我可能需要2件相同的设备来完成工作。当列表框中已经填充了所需的设备时,我遍历内容并将它们放入其单元格中,但是如果有两个相同的设备,我只想列出一次,但在左边的单元格中有一个数字它代表我需要多少特定设备。

ActiveSheet.Range("E" & Rows.Count).End(xlUp).Offset(, 1).Value = "Number of pieces of equipment"

所以我需要一只手在列表框中循环检查重复并列出设备以及与设备相关的数字。

2 个答案:

答案 0 :(得分:0)

我不会使用VBA。我会使用数据透视表来计算出现次数,然后使用= getpivotdata来填充所需位置的计数。

答案 1 :(得分:0)

经过几个月的编码后,我意识到这个问题有很多可能的答案!我决定要做的是在列表框中搜索要添加的元素,如果该项已经在列表框中,则用户会收到一条消息,告诉他们存在重复并且未添加元素。如果列表框中没有该元素,则会将其添加到该列表中,下面的代码显示了我是如何完成此操作的!

For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) Then
       myValue = ListBox1.List(i)
    End If
Next i

If ListBox2.ListCount = 0 Then
    Me.ListBox2.AddItem myValue
    Exit Sub
End If

For i = 0 To ListBox2.ListCount - 1
    If ListBox2.List(i) = myValue Then
        MsgBox "Hardware already selected"
        Exit Sub
    Else
        Me.ListBox2.AddItem myValue
        Exit Sub
    End If
Next i