Применительно к:Excel - как получить прямой ввод данных или значение ячейки из формулы

Я хотел бы спросить по связанному вопросу. Как бы я отредактировал формулу VBA, если бы я хотел сравнить существующее сформулированное значение с новым входным значением. И отобразите максимум как сформулированного, так и нового входного значения.

Большое спасибо за вашу помощь. Высоко ценится.

1 ответ1

0

Исходя из вашего исходного запроса: если A2 и A3 оба имеют числовые значения, то A4 будет заполняться их суммой. Если они не числовые или нулевые, то A4 покажет ошибку. Если A4 перезаписывается, то это значение будет постоянным до тех пор, пока A2 или A3 не будут изменены снова. Чтобы добавить новые требования: Если A2 и A3 дали хорошую сумму для A4, и кто-то перезаписывает A4 новым числовым значением, то вы хотите, чтобы максимум был взят между A2+A3 и A4. Я предполагаю, что это должно отображаться в ячейке A5.

Добавление к исходному ответу: Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("A2:A3")) Is Nothing Then If WorksheetFunction.Count(Range("A2:A3")) = 2 Then Range("A4").Formula = "=A2+A3" End If ElseIf Not (Intersect(Target, Range("A4"))) Is Nothing Then 'Check for numbers in a2, a3, and a4 If IsNumeric(Range("A2").Value) And IsNumeric(Range("A3").Value) And IsNumeric(Range("A4").Value) Then 'If a2+a3 is greater than a4 If Range("A2").Value + Range("A3").Value > Range("A4").Value Then 'set the sum of a2 and a3 to cell a5 Range("A5").Value = Range("A2").Value + Range("A3").Value Else 'set the value of cell a4 to cell a5 Range("A5").Value = Range("A4").Value End If End If End If End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .