Добрый день. Я новичок в excel, в интернете много прочел, но не смогу решить. Сделал как умею. В общем, в столбце F можно вписать данные "Карта" "Наличка" "Долг", Я сделал проверку на то чтобы если вписать долг, в столбце A добавится номер текущей строки (для последующей проверки). А когда в столбце F изменяю "Долг" на "Наличка" или "Карта", нужно вызывать код, но не используя столбец A. Нужно именно при изменении с ДОЛГ! [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlCalculationManual Application.ScreenUpdating = False Application.EnableEvents = False ' Отключаем обработку событий For Each cell In Target If Target.Cells.Count = 1 Then If Not Intersect(cell, Range("F2:F10000")) Is Nothing Then ' Должники
If Target.Column = 6 And (Target.Value = "Наличка" Or Target.Value = "Карта") And cell.Offset(0, -5) > 0 Then Target.CurrentRegion.Rows(Target.Row).Cut Cells(Rows.Count, 2).End(xlUp).Offset(1, -1).Select ActiveCell.Insert Shift:=xlDown cell.Offset(0, -3).Value = Time cell.Offset(0, -4).Value = Date cell.Offset(0, -5).Value = "" Else Dim PosLedN As Long Dim ids As Long PosLedN = Cells(Rows.Count, "F").End(xlUp).Row For ids = PosLedN To 2 Step -1 If Cells(ids, "F") = "Долг" Then Cells(ids, "A").Value = ids Else Cells(ids, "A").Value = "" End If Next ids End If End If End If next cell End Sub
[/vba]
Добрый день. Я новичок в excel, в интернете много прочел, но не смогу решить. Сделал как умею. В общем, в столбце F можно вписать данные "Карта" "Наличка" "Долг", Я сделал проверку на то чтобы если вписать долг, в столбце A добавится номер текущей строки (для последующей проверки). А когда в столбце F изменяю "Долг" на "Наличка" или "Карта", нужно вызывать код, но не используя столбец A. Нужно именно при изменении с ДОЛГ! [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlCalculationManual Application.ScreenUpdating = False Application.EnableEvents = False ' Отключаем обработку событий For Each cell In Target If Target.Cells.Count = 1 Then If Not Intersect(cell, Range("F2:F10000")) Is Nothing Then ' Должники
If Target.Column = 6 And (Target.Value = "Наличка" Or Target.Value = "Карта") And cell.Offset(0, -5) > 0 Then Target.CurrentRegion.Rows(Target.Row).Cut Cells(Rows.Count, 2).End(xlUp).Offset(1, -1).Select ActiveCell.Insert Shift:=xlDown cell.Offset(0, -3).Value = Time cell.Offset(0, -4).Value = Date cell.Offset(0, -5).Value = "" Else Dim PosLedN As Long Dim ids As Long PosLedN = Cells(Rows.Count, "F").End(xlUp).Row For ids = PosLedN To 2 Step -1 If Cells(ids, "F") = "Долг" Then Cells(ids, "A").Value = ids Else Cells(ids, "A").Value = "" End If Next ids End If End If End If next cell End Sub