簡體   English   中英

子寫出匹配值vba

[英]sub writing out matching values vba

因此,我正在研究一個在給定范圍內找到匹配值並將其寫出的子程序。 問題是我的版本會寫出該范圍內的每個值,因此,我希望能對此有所幫助,以便它只寫出匹配的值。 提前致謝。

Sub azonos2a()
Dim rng As range
Set rng = Application.InputBox("range", , , , , , , 8)

Dim a

Dim c
Dim d

With ActiveSheet


For Each c In rng.Cells
    For Each d In rng.Cells
        If c.Value = d.Value Then
            MsgBox c.Value
        End If
    Next
Next

End With

End Sub

在嵌套循環中,您將范圍內的每個單元格與范圍內的每個單元格(包括自身)進行比較。 您需要一個嵌套循環,在該嵌套循環中,內部循環傳遞的值要比外部循環傳遞的值不同,但是這樣才能比較所有不同的單元格對。 最簡單的方法是使用索引:

Sub azonos2a()
Dim rng As Range
Set rng = Application.InputBox("range", , , , , , , 8)

Dim i As Long, j As Long, n As Long
n = rng.Cells.Count

For i = 1 To n - 1
    For j = i + 1 To n
        If rng.Cells(i).Value = rng.Cells(j).Value Then
            MsgBox rng.Cells(i).Value
        End If
    Next j
Next i

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM