Это мой первый раз здесь
У меня есть код, который может удалять и повторять значения, которые когда-то были объединены в пределах диапазона выбора, чтобы я мог применить фильтр к данным. (см. ниже)
Sub mergefiltro()
If MsgBox("select the desired range ?", vbYesNo) = vbNo Then Exit Sub
Dim MergedCell As Range, FirstAddress As String, MergeAddress As String, MergeValue As Variant
Application.FindFormat.MergeCells = True
Application.ScreenUpdating = False
Do
Set MergedCell = Selection.Find("", LookAt:=xlPart, SearchFormat:=True)
If MergedCell Is Nothing Then Exit Do
MergeValue = MergedCell.Value
MergeAddress = MergedCell.MergeArea.Address
MergedCell.MergeArea.UnMerge
Range(MergeAddress).Value = MergeValue
Loop
Application.FindFormat.Clear
Application.ScreenUpdating = True
'Filter application
Selection.AutoFilter
End Sub
Этот код будет повторять значения, которые когда-то были в одной ячейке сиглы, которая была объединена с другими.
Теперь я не могу найти способ продолжить (в пределах того же выбора) очистить повторяющиеся значения ТОЛЬКО в строке ... Другими словами: я не хочу очищать все повторяющиеся значения ячеек в нисходящем направлении (по столбцам), только чтобы найти и очистить все повторяющиеся значения ячеек справа от листа Excel (в направлении строк).
Я сталкивался с этим:
Sub FindDups()
ScreenUpdating = False
FirstItem = ActiveCell.Value
SecondItem = ActiveCell.Offset(0, 1).Value
Offsetcount = 1
Do While ActiveCell <> ""
If FirstItem = SecondItem Then
ActiveCell.Offset(Offsetcount, 0).Value = ("")
Offsetcount = Offsetcount + 1
SecondItem = ActiveCell.Offset(Offsetcount, 0).Value
Else
ActiveCell.Offset(Offsetcount, 0).Select
FirstItem = ActiveCell.Value
SecondItem = ActiveCell.Offset(1, 0).Value
Offsetcount = 1
End If
Loop
ScreenUpdating = True
MsgBox "Done"
End Sub
Но этот код делает именно то, что я хочу: Clear - повторяющиеся значения в столбцах. То, что я хочу, это один код, который очищает повторяющиеся значения в строке (в правой части ячейки).
Кто-нибудь знает, как это сделать?
Заранее спасибо