Доброго времени суток! В ходе работы возникла острая необходимость в вашей помощи. Суть вопроса, как можно сделать так чтобы, если в столбце продажа была заполнена ячейка, то в доном столбце все ячейки за этот день были заполнены символом !. Как вариант 10 ячеек вверх десять вниз от заполненной ячейки . Очень благодарю за помощь!!!
Доброго времени суток! В ходе работы возникла острая необходимость в вашей помощи. Суть вопроса, как можно сделать так чтобы, если в столбце продажа была заполнена ячейка, то в доном столбце все ячейки за этот день были заполнены символом !. Как вариант 10 ячеек вверх десять вниз от заполненной ячейки . Очень благодарю за помощь!!!cekist
К сообщению приложен файл:_2.xls
(83.5 Kb)
·
.xlsx.xls
(80.5 Kb)
Сообщение отредактировал cekist - Суббота, 14.04.2018, 21:48
cekist, привет вариант 10 ячеек вверх десять вниз от заполненной ячейки [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column <> 16 Then Exit Sub If Target.Value <> "продажа" Then Exit Sub
Dim x, i& With Target If .Row > 11 Then i = 10 Else i = .Row - 2 End With With Target.Offset(-i).Resize(i + 11) x = .Value For i = 1 To UBound(x) If IsEmpty(x(i, 1)) Then x(i, 1) = "!" Next i .Value = x End With End Sub
[/vba]
cekist, привет вариант 10 ячеек вверх десять вниз от заполненной ячейки [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column <> 16 Then Exit Sub If Target.Value <> "продажа" Then Exit Sub
Dim x, i& With Target If .Row > 11 Then i = 10 Else i = .Row - 2 End With With Target.Offset(-i).Resize(i + 11) x = .Value For i = 1 To UBound(x) If IsEmpty(x(i, 1)) Then x(i, 1) = "!" Next i .Value = x End With End Sub
Конечно. Этот макрос нужно сувать в модуль листа. Тпнитесь правой мышой в ярлык нужного листа - выберите Исходный текст и вставьте в появившееся окошко этот макрос
Конечно. Этот макрос нужно сувать в модуль листа. Тпнитесь правой мышой в ярлык нужного листа - выберите Исходный текст и вставьте в появившееся окошко этот макрос_Boroda_
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub If Target.Column <> 16 Then Exit Sub
Application.EnableEvents = False Application.ScreenUpdating = False Dim x, i&, lr& lr = Cells(Rows.Count, 2).End(xlUp).Row If Target.Value = "продажа" Then For i = 2 To lr If CDate(Cells(i, 2)) = CDate(Cells(Target.Row, 2)) Then If Cells(i, 16) <> "продажа" Then Cells(i, 16).Value = "!" End If Next i End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub If Target.Column <> 16 Then Exit Sub
Application.EnableEvents = False Application.ScreenUpdating = False Dim x, i&, lr& lr = Cells(Rows.Count, 2).End(xlUp).Row If Target.Value = "продажа" Then For i = 2 To lr If CDate(Cells(i, 2)) = CDate(Cells(Target.Row, 2)) Then If Cells(i, 16) <> "продажа" Then Cells(i, 16).Value = "!" End If Next i End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub