Дорогие друзья, нашел много похожих тем, но моя задача чуть другая, у меня есть 2 столбца первый пустой А для комментариев, во втором B артикулы товара. Задача найти одинаковые значения в ячейках в столбце B очистить содержимое этих ячеек в тоже время в столбце А напротив вставить текст "удален" если возможно очистить содержимое только для одного (верхнего) дубликата а для второго вставить "удален" не очищая содержимое ячейки Как-то я очень путано объяснил, но задача думаю не очень сложная
Дорогие друзья, нашел много похожих тем, но моя задача чуть другая, у меня есть 2 столбца первый пустой А для комментариев, во втором B артикулы товара. Задача найти одинаковые значения в ячейках в столбце B очистить содержимое этих ячеек в тоже время в столбце А напротив вставить текст "удален" если возможно очистить содержимое только для одного (верхнего) дубликата а для второго вставить "удален" не очищая содержимое ячейки Как-то я очень путано объяснил, но задача думаю не очень сложнаяkloadvam
Public Sub Squadra_Unita() '2 столбца 'А для комментариев, в B артикулы товара. 'найти одинаковые значения в ячейках в столбце B 'очистить содержимое этих ячеек, 'в тоже время в столбце А напротив вставить текст "удален" 'очистить содержимое только для одного (верхнего) дубликата 'а для второго вставить "удален" не очищая содержимое ячейки
' про третий и следующие случаи ничего не сказано.
Public Function Массив_на_Лист(a2() As Variant) ' тестом Покрыто опосредованно
R_Sour.Value = a2
End Function
Public Function Проход(a2() As Variant) _ As Variant() ' тестом Покрыто опосредованно ' Dim y As Long
For y = LBound(a2) To UBound(a2)
Дубли_Пометить a2, y
Next
Проход = a2
End Function
Public Function Дубли_Пометить(a2() As Variant, _ ByVal iRow As Long) ' тестом Покрыто опосредованно
Dim el As Variant el = a2(iRow, 2)
Dim iCount As Long
Dim y As Long
For y = iRow + 1 To UBound(a2)
If y <= UBound(a2) Then
If a2(y, 2) = el Then
a2(y, 1) = "Удалён"
iCount = iCount + 1
End If End If Next
If iCount > 0 Then
a2(iRow, 2) = vbNullString
End If End Function
Public Function Массив(ByVal r As Range) _ As Variant() ' тестом Покрыто опосредованно
Массив = r.Value
End Function
Public Function Диап(ws As Worksheet) _ As Range ' тестом Покрыто опосредованно
With ws
Set R_Sour = .Range(.Cells(1, 1), .Cells(17, 2))
End With
Set Диап = R_Sour
End Function
Public Function Лист_Копировать(Optional ByVal msg As String) _ As Worksheet ' тестом Покрыто опосредованно ' Worksheets("исходный").Copy before:=Worksheets("исходный")
Public Sub Squadra_Unita() '2 столбца 'А для комментариев, в B артикулы товара. 'найти одинаковые значения в ячейках в столбце B 'очистить содержимое этих ячеек, 'в тоже время в столбце А напротив вставить текст "удален" 'очистить содержимое только для одного (верхнего) дубликата 'а для второго вставить "удален" не очищая содержимое ячейки
' про третий и следующие случаи ничего не сказано.
Public Function Массив_на_Лист(a2() As Variant) ' тестом Покрыто опосредованно
R_Sour.Value = a2
End Function
Public Function Проход(a2() As Variant) _ As Variant() ' тестом Покрыто опосредованно ' Dim y As Long
For y = LBound(a2) To UBound(a2)
Дубли_Пометить a2, y
Next
Проход = a2
End Function
Public Function Дубли_Пометить(a2() As Variant, _ ByVal iRow As Long) ' тестом Покрыто опосредованно
Dim el As Variant el = a2(iRow, 2)
Dim iCount As Long
Dim y As Long
For y = iRow + 1 To UBound(a2)
If y <= UBound(a2) Then
If a2(y, 2) = el Then
a2(y, 1) = "Удалён"
iCount = iCount + 1
End If End If Next
If iCount > 0 Then
a2(iRow, 2) = vbNullString
End If End Function
Public Function Массив(ByVal r As Range) _ As Variant() ' тестом Покрыто опосредованно
Массив = r.Value
End Function
Public Function Диап(ws As Worksheet) _ As Range ' тестом Покрыто опосредованно
With ws
Set R_Sour = .Range(.Cells(1, 1), .Cells(17, 2))
End With
Set Диап = R_Sour
End Function
Public Function Лист_Копировать(Optional ByVal msg As String) _ As Worksheet ' тестом Покрыто опосредованно ' Worksheets("исходный").Copy before:=Worksheets("исходный")
Ну на самом деле два расширенных фильтра - действительно решение не сложно, даже для применения в макросе. А если операция разовая, но просто объемная, то просто два этих фильтра руками
Думаю это реакция на занижение сложности решения ТС и атата от Елены :-)
Ну на самом деле два расширенных фильтра - действительно решение не сложно, даже для применения в макросе. А если операция разовая, но просто объемная, то просто два этих фильтра руками