RE: 直接入力したデータまたは数式からのセル値の最大値を表示する

RE: 直接入力したデータまたは数式からのセル値の最大値を表示する

参照すると : Excel - 直接データを入力するか、数式からセルの値を取得する方法

関連する問題について問い合わせたいと思います。既存の定式化された値と新しい入力値を比較する場合、VBA 数式をどのように編集すればよいでしょうか。また、定式化された値と新しい入力値の両方の最大値を表示したい場合。

親切なご対応に心より感謝申し上げます。心より感謝申し上げます。

答え1

元のリクエストから: A2 と A3 の両方に数値がある場合、A4 にはその合計が入力されます。数値以外または null の場合、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

関連情報