셀의 Excel 수식

셀의 Excel 수식

A1 셀에서 B1로 값을 복사하고 표시하려면 Excel에 수식이 필요합니다. A1 셀 값이 양수 값에서 0으로 변경되면 B1 셀의 값은 변경되어서는 안 되며 이전 값을 유지해야 합니다(즉, 항상 0보다 큽니다). 값은 숫자입니다.

답변1

수식만으로는 이 작업을 수행할 수 없습니다. 그러나 다음 VBA 코드를 사용하면SelectionChange 이벤트, 효과가있다:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    Const SourceCell = "$A$1"
    Const TargetCell = "$A$2"

    If Target.Address = SourceCell Then
        If Range(SourceCell).Value > 0 Then
            Range(TargetCell).Value = Range(SourceCell).Value
        End If
    End If
End Sub

또는 더 많은 소스 및 대상 셀을 원하는 경우(나중에 요청됨):

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    Dim SourceCells(), TargetCells() As Variant
    Dim i As Integer

    ' Make sure the cells are declared with $'s
    ' Make sure that the arrays contain the same number of elements
    SourceCells = Array("$B$1", "$B$2", "$F$5")
    TargetCells = Array("$A$1", "$A$2", "$H$12")

    For i = 0 To UBound(SourceCells)
        If Target.Address = SourceCells(i) Then
            If Range(SourceCells(i)).Value > 0 Then
                Range(TargetCells(i)).Value = Range(SourceCells(i)).Value
            End If
        End If
    Next i

End Sub

이 코드를 VBA 코드 안에 넣으세요.워크시트이 작업을 수행하려는 곳입니다. 이렇게 하려면 다음 지침을 따르십시오.

  • Excel에서 통합 문서를 연 상태에서 ALT+ 를 클릭합니다 F11. 그러면 VBA 편집기가 열립니다.
  • 왼쪽의 "프로젝트" 트리를 확인하고 Excel 통합 문서와 워크시트를 찾으세요. 해당 워크시트를 마우스 오른쪽 버튼으로 클릭하고 를 선택합니다 View Code.
  • 위의 코드를 복사하여 편집기에 붙여넣으세요.
  • VBA 편집기를 닫으면 모든 것이 예상대로 작동합니다.

관련 정보