工作需要需要统计excel中相同的行数据,找了N种方法都不能解决。
最后通过VBA 方法解决:方法如下,欢迎大家指正。
Sub samerow()
Dim colNum As Integer '表格列数
Dim rowNum As Long '表格行数
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim myRange As Range
Dim inputRange As Range
Set myRange = Application.InputBox("选择数据区域", Type:=8)
Set inputRange = Application.InputBox("结果区域", Type:=8)
With ActiveSheet
colNum = myRange.Columns.Count
'MsgBox "colNum:" & colNum
rowNum = myRange.Rows.Count
'MsgBox "rowNum:" & rowNum
'清空结果区域
For k = 1 To rowNum '遍历row行
inputRange.Cells(k, 1).Value = ""
Next k
'MsgBox "清空完成"
For k = 1 To rowNum '遍历row行
For i = 1 To rowNum
If i <> k Then '排除自己
For j = 1 To colNum
If myRange.Cells(i, j).Value <> myRange.Cells(k, j).Value Then
Exit For
End If
Next j
If j > colNum Then
'MsgBox "两行相等k:" & myRange.Cells(1, 1).Row + k - 1 & ", i:" & myRange.Cells(1, 1).Row + i - 1 '两行相等
'输出相同行数
If (inputRange.Cells(k, 1).Value = "") Then
inputRange.Cells(k, 1).Value = "相同行数:" & myRange.Cells(1, 1).Row + i - 1
Else
inputRange.Cells(k, 1).Value = inputRange.Cells(k, 1).Value & "," & myRange.Cells(1, 1).Row + i - 1
End If
End If
End If
Next i
Next k
End With
End Sub