Здравствуйте уважаемые колдуны и шаманы! Имеется простенький макрос, который ищет равенство от активной ячейки в нужном диапазоне ActiveSheet.Range("B12:AH18"). Беда в том, что этот макрос срабатывает за пределами этого диапазона. Не знаю как победить этот недуг.
[vba]
Код
If ActiveCell.Offset(-1, 0) = ActiveCell Then ActiveCell.Offset(-1, 0) = "" End If
If ActiveCell.Offset(-2, 0) = ActiveCell Then ActiveCell.Offset(-2, 0) = ""
End If
If ActiveCell.Offset(-3, 0) = ActiveCell Then ActiveCell.Offset(-3, 0) = "" End If
If ActiveCell.Offset(-4, 0) = ActiveCell Then ActiveCell.Offset(-4, 0) = "" End If
If ActiveCell.Offset(-5, 0) = ActiveCell Then ActiveCell.Offset(-5, 0) = "" End If
If ActiveCell.Offset(-6, 0) = ActiveCell Then ActiveCell.Offset(-6, 0) = "" End If
[/vba]
Здравствуйте уважаемые колдуны и шаманы! Имеется простенький макрос, который ищет равенство от активной ячейки в нужном диапазоне ActiveSheet.Range("B12:AH18"). Беда в том, что этот макрос срабатывает за пределами этого диапазона. Не знаю как победить этот недуг.
[vba]
Код
If ActiveCell.Offset(-1, 0) = ActiveCell Then ActiveCell.Offset(-1, 0) = "" End If
If ActiveCell.Offset(-2, 0) = ActiveCell Then ActiveCell.Offset(-2, 0) = ""
End If
If ActiveCell.Offset(-3, 0) = ActiveCell Then ActiveCell.Offset(-3, 0) = "" End If
If ActiveCell.Offset(-4, 0) = ActiveCell Then ActiveCell.Offset(-4, 0) = "" End If
If ActiveCell.Offset(-5, 0) = ActiveCell Then ActiveCell.Offset(-5, 0) = "" End If
If ActiveCell.Offset(-6, 0) = ActiveCell Then ActiveCell.Offset(-6, 0) = "" End If
bmv98rus, Я загрузил файл. Желтым цветом залит рабочий диапазон. Удалите ячейки выделенные красным цветом и Вы увидите, что будут удалятся схожие значения за пределами диапазона. Спасибо за ответ.
bmv98rus, Я загрузил файл. Желтым цветом залит рабочий диапазон. Удалите ячейки выделенные красным цветом и Вы увидите, что будут удалятся схожие значения за пределами диапазона. Спасибо за ответ.tasdel
If Not Intersect(ActiveCell, Range("b13:ah18")) Is Nothing Then With ActiveCell For Each cell In Range(Cells(12, .Column), .Offset(-1)) If cell = .Value Then cell.ClearContents Next End With End If
[/vba] или так [vba]
Код
If Not Intersect(ActiveCell, Range("b13:ah18")) Is Nothing Then With ActiveCell Range(Cells(12, .Column), .Offset(-1)).Replace what:=.Value, Replacement:="", lookat:=xlWhole End With End If
[/vba]
так [vba]
Код
If Not Intersect(ActiveCell, Range("b13:ah18")) Is Nothing Then With ActiveCell For Each cell In Range(Cells(12, .Column), .Offset(-1)) If cell = .Value Then cell.ClearContents Next End With End If
[/vba] или так [vba]
Код
If Not Intersect(ActiveCell, Range("b13:ah18")) Is Nothing Then With ActiveCell Range(Cells(12, .Column), .Offset(-1)).Replace what:=.Value, Replacement:="", lookat:=xlWhole End With End If
bmv98rus, Спасибо большое , все работает, но не до конца. Я приложу еще файл, чтобы Вы поняли основной принцип этих манипуляций. Введите пожалуйста в зеленые ячейки числа, которые соответствуют числам в красных ячейках, затем введите в красные ячейки числа, которые соответствуют числам в зеленых ячейках. Заранее благодарен.
bmv98rus, Спасибо большое , все работает, но не до конца. Я приложу еще файл, чтобы Вы поняли основной принцип этих манипуляций. Введите пожалуйста в зеленые ячейки числа, которые соответствуют числам в красных ячейках, затем введите в красные ячейки числа, которые соответствуют числам в зеленых ячейках. Заранее благодарен.tasdel
tasdel, вы просто поясните что нужно сделать, я предположил, что в ячейках того же столбца он 12 строки до строки активной ячейки (исключая) удалить значение.
tasdel, вы просто поясните что нужно сделать, я предположил, что в ячейках того же столбца он 12 строки до строки активной ячейки (исключая) удалить значение.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
bmv98rus, Я меня не получится Вам объяснить на словах т.к. могу еще больше Вас ввести в заблуждение, поэтому я приложил файл. Файл имеет код, который выполняет поставленную задачу,но проблема в том, что макрос может удалять идентичные числа за пределами рабочего диапазона.
bmv98rus, Я меня не получится Вам объяснить на словах т.к. могу еще больше Вас ввести в заблуждение, поэтому я приложил файл. Файл имеет код, который выполняет поставленную задачу,но проблема в том, что макрос может удалять идентичные числа за пределами рабочего диапазона.tasdel