[英]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.