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 편집기를 닫으면 모든 것이 예상대로 작동합니다.