
제가 본 일부 온라인 계산기처럼 Excel 기능을 만드는 것이 가능한지 배우고 싶습니다. 예를 들어:
주요 차이점은 계산기의 각 '셀'이 입력된 값이 있는지 인식하도록 설계되었다는 점입니다. 그런 다음 다른 셀과의 기능적 관계에 따라 조건부로 해당 값을 계산합니다. .
이것은 '계산' 버튼을 사용하지만 Excel 스타일 라이브 업데이트의 예가 있습니다. 아직 값이 충분하지 않거나 값이 모순되는 경우 일반적으로 이를 명시하지만 이는 필수 기능은 아닙니다(아직은 ).
조건문을 사용하여 Excel에서 유사한 기능을 구현하려고 시도했지만 셀 논리가 지나치게 복잡해지고 있음을 발견했습니다.빠른. 내 경우에는 해결 중인 시스템(위의 시스템 아님)의 값이 입력의 다양한 하위 집합에서 계산될 수 있으므로 도움이 되지 않습니다. '과잉 정의'라고 말할 수 있습니다.
Excel에 이러한 스타일의 인터페이스를 빠르고 쉽게 구축할 수 있는 옵션이나 모드가 있습니까?
아니면 비슷한 제품을 만든 사람이 있고 귀하의 트릭을 공유할 의향이 있는 사람이 있습니까?
그것은 단순히 내 자신의 생산성을 위한 것일 뿐(그리고 다른 사람들도 그러하길 바랍니다!) 온라인에 출시될 것이라고는 기대하지 않습니다...
답변1
VB를 사용하여 Excel 워크시트에서 다음과 같이 수행할 수 있습니다.
우리는 정육면체의 부피 = 길이 * 너비 * 높이를 알고 있습니다.
이를 위한 계산기를 만들어 보겠습니다.
3이 주어지면 4번째 값을 찾아야 합니다.
Excel 워크시트 만들기
A1, A2, A3 유형 길이, 너비, 높이. A5 유형 볼륨에 A4를 비워 두십시오.
이제 도구 모음을 사용하여 버튼을 만들고 버튼을 마우스 오른쪽 버튼으로 클릭한 다음 텍스트를 " CALCULATE "로 변경하여 버튼에 필요한 이름을 지정합니다.
이제 버튼을 마우스 오른쪽 버튼으로 클릭하고 이 버튼에 매크로를 할당합니다. 버튼 클릭 명령을 다음과 같이 생성합니다.
Sub Button1_Click()
If Range("B1").Value = 0
Then Range("B1").Value = Range("B5").Value / Range("B3").Value / Range("B2").Value
If Range("B2").Value = 0
Then Range("B2").Value = Range("B5").Value / Range("B1").Value / Range("B3").Value
If Range("B3").Value = 0
Then Range("B3").Value = Range("B5").Value / Range("B2").Value / Range("B1").Value
If Range("B5").Value = 0
Then Range("B5").Value = Range("B1").Value * Range("B2").Value * Range("B3").Value
End Sub
답변2
알고 있듯이 워크시트 셀을 사용하여 이 작업을 수행하는 것은 약간 까다로울 수 있습니다.
하지만 VBA를 사용하면 이 작업을 수행하는 것이 상당히 쉽습니다. 코드는 Worksheet_Change 이벤트에 있을 수 있으며, 이 이벤트는 네 개의 셀 중 하나가 변경될 때마다 실행되도록 설정할 수 있습니다.
그렇다면 논리는 쉽습니다. 정확히 세 개의 셀에 값이 있으면 어느 셀이 비어 있는지 알아내고 계산을 수행한 후 결과를 해당 셀에 입력합니다.