Excel 比较两组范围以及常用单元格值的MsgBox数量和值

Excel 比较两组范围以及常用单元格值的MsgBox数量和值,excel,compare,range,msgbox,vba,Excel,Compare,Range,Msgbox,Vba,我的代码有问题,无法解决 我有两套射程;范围(“C14:C19”)和范围(“E14:E19”)都包含随机生成的6个数字(我已经对随机选择进行了编码) 我的目标是,在生成数字之后,比较两个范围。 如果两个范围包含相同的数字, 我想MsgBox的数量相同的数字发现,在这两个范围内,以及每一个数字的价值 示例: 生成数字后,如果两个范围的值9和7相同,则MsgBox将如下所示: 获胜组合中有2个数字,其值为:7,9 以下是我到目前为止所能做的 Private Sub Compare() Di

我的代码有问题,无法解决

我有两套射程;范围(“C14:C19”)和范围(“E14:E19”)都包含随机生成的6个数字(我已经对随机选择进行了编码)

我的目标是,在生成数字之后,比较两个范围。 如果两个范围包含相同的数字, 我想MsgBox的数量相同的数字发现,在这两个范围内,以及每一个数字的价值

示例: 生成数字后,如果两个范围的值9和7相同,则MsgBox将如下所示:

获胜组合中有2个数字,其值为:7,9

以下是我到目前为止所能做的

Private Sub Compare()

    Dim rgnChoix As Range, rgnTirage As Range, i As Range, j As Range, iVal As Integer

    Set rgnChoix = Range("C14:C19")
    Set rgnTirage = Range("E14:E19")

        For Each i In rgnChoix.Cells

            For Each j In rgnTirage.Cells

                If i.value = j.value Then

                    MsgBox "There is/are" & " " & iVal & " " & "number(s) in the winning combination and it's/there value(s) is/are :" & " " & i.value, , "Erika"
                        Exit Sub

                 End If
             Next j
          Next i

  iVal = Application.WorksheetFunction.CountIf(Range("C14:C19"),"i.value=j.value")

End Sub
谢谢!!
埃里卡

它可以按你的意愿工作。但如果同一个数字在一个范围内出现不止一次,则将其视为单独的匹配。它把所有的比赛分开统计。如果一个范围包含两个4,而另一个范围包含三个4,则统计六个匹配

Private Sub Compare()
    Dim rgnChoix As Range, rgnTirage As Range, i As Range, j As Range, iVal As Integer, sVal As String
    Set rgnChoix = Range("C14:C19")
    Set rgnTirage = Range("E14:E19")
    For Each i In rgnChoix.Cells
        For Each j In rgnTirage.Cells
            If i.Value = j.Value Then
                iVal = iVal + 1
                sVal = sVal & "," & CStr(i.Value)
            End If
        Next j
    Next i
    sVal = Mid(sVal, 2)
    MsgBox "There is/are" & " " & iVal & " " & "number(s) in the winning combination and it's/there value(s) is/are :" & " " & sVal, , "Erika"
End Sub