Здравствуйте! Помогите пожалуйста, например в ячейке А1 делаю вычитание чисел =4-1, а в ячейке В1 автоматически производилось сложение =4+1, возможно ли такое действие?
Здравствуйте! Помогите пожалуйста, например в ячейке А1 делаю вычитание чисел =4-1, а в ячейке В1 автоматически производилось сложение =4+1, возможно ли такое действие?sergejlamov00
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("a1")) Is Nothing Then Target.Offset(0, 1) = Replace(Target.Formula, "-", "+") End If End Sub
[/vba]
в модуль листа [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("a1")) Is Nothing Then Target.Offset(0, 1) = Replace(Target.Formula, "-", "+") End If End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Range("a1")) Is Nothing Then Target.Offset(0, 1) = Replace(Target.Formula, "-", "+") End If End Sub
[/vba]
из модуля листа удалить, а в модуль книги: [vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Range("a1")) Is Nothing Then Target.Offset(0, 1) = Replace(Target.Formula, "-", "+") End If End Sub
Чуть допишу в макрос Nic-а, для обработки нескольких ячеек на одном листе [vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim d_ As Range, dd_ As Range Set d_ = Intersect(Target, Range("A:A")) If Not d_ Is Nothing Then For Each dd_ In d_ With dd_ .Offset(0, 1) = Replace(.Formula, "-", "+") End With Next dd_ End If End Sub
[/vba]
Если Вы работаете сразу на нескольких листах одновременно, то нужно еще указать лист [vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim d_ As Range, dd_ As Range With Sh Set d_ = Intersect(Target, .Range("A:A")) If Not d_ Is Nothing Then For Each dd_ In d_ With dd_ .Offset(0, 1) = Replace(.Formula, "-", "+") End With Next dd_ End If End With End Sub
[/vba]
Чуть допишу в макрос Nic-а, для обработки нескольких ячеек на одном листе [vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim d_ As Range, dd_ As Range Set d_ = Intersect(Target, Range("A:A")) If Not d_ Is Nothing Then For Each dd_ In d_ With dd_ .Offset(0, 1) = Replace(.Formula, "-", "+") End With Next dd_ End If End Sub
[/vba]
Если Вы работаете сразу на нескольких листах одновременно, то нужно еще указать лист [vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim d_ As Range, dd_ As Range With Sh Set d_ = Intersect(Target, .Range("A:A")) If Not d_ Is Nothing Then For Each dd_ In d_ With dd_ .Offset(0, 1) = Replace(.Formula, "-", "+") End With Next dd_ End If End With End Sub
Добрый день! Дабы не создавать новую тему, спрошу здесь. Есть столбцы с логами "Создано" 03/25/22 15:00 и "Выполнено" 03/27/22 08:10, именно в таком формате мм/дд/гг чч:мм, нужно посчитать затраченное время в часах и вывести строки, где время превышает 120 часов. Формат ячеек - текст и привести его в формат даты или времени не получается, ошибка #ЗНАЧ! Помогите пожалуйста или натолкните на мысль
Добрый день! Дабы не создавать новую тему, спрошу здесь. Есть столбцы с логами "Создано" 03/25/22 15:00 и "Выполнено" 03/27/22 08:10, именно в таком формате мм/дд/гг чч:мм, нужно посчитать затраченное время в часах и вывести строки, где время превышает 120 часов. Формат ячеек - текст и привести его в формат даты или времени не получается, ошибка #ЗНАЧ! Помогите пожалуйста или натолкните на мысль Greeng0