Ви просите виділити рядки, але я гадаю, що це може бути проблематично (хоча ви не описуєте, чому ви цього хочете). Якщо припустити, що у вас є 10 рядків, і багато з них відповідають іншим рядкам, ваш робочий аркуш виглядатиме так
Проблема полягає в тому, що ви не маєте поняття, який рядок відповідає якому рядку!
У вас також виникне проблема при наступному запуску сценарію, підсвітка збережеться.
Тому я пропоную рішення із додатковим стовпцем інформації (знімок екрана нижче):
Sub WalkThePlank()
Dim startRow As Integer
startRow = 2 'Update this to lead us to the treasure
Dim row As Integer
row = startRow
Do While (Range("A" & row).Value <> "")
Dim innerRow As Integer
innerRow = row + 1
Dim name As String
Dim task As String
Dim phone As String
name = Range("A" & row).Value
task = Range("B" & row).Value
phone = Range("C" & row).Value
Do While (Range("A" & innerRow).Value <> "")
If (Range("A" & innerRow).Value = name And Range("B" & innerRow).Value = task And Range("C" & innerRow).Value = phone) Then
Range("D" & row).Value = Range("D" & row).Value & innerRow & ", "
Range("D" & innerRow).Value = Range("D" & innerRow).Value & row & ", "
'Rows(row).Interior.ColorIndex = 6 'UNCOMMENT THIS LINE IF YOU WANT HIGHLIGHTING
'Rows(innerRow).Interior.ColorIndex = 6 'UNCOMMENT THIS LINE IF YOU WANT HIGHLIGHTING
End If
innerRow = innerRow + 1
Loop
row = row + 1
Loop
End Sub
Це те, що робить
Зробіть це на копії файлу - немає функції скасування!
Зауважте, що в коді є два рядки, які показують, який рядок відмітити (видаліть перший '
у цих рядках, і вони виділяться)
Як додати VBA в MS Office?
If only one cell is different for that row then it's not considered duplicate in my case.
Тоді що вважається дупом? Це можна вирішити, використовуючи VBa