/ / Excel VBA의 청구서 및 동전

Excel VBA에서 청구서 및 동전

아래에서 우리는 Excel VBA 엄청난 양의 돈을 지폐 및 동전.

상태:

Excel VBA에서 청구서 및 동전

워크 시트 변경 이벤트를 작성하십시오. 워크 시트 변경 이벤트에 추가 된 코드는 워크 시트의 셀을 변경할 때 Excel VBA에서 실행됩니다.

1. Visual Basic Editor를 엽니 다.

2. 프로젝트 탐색기에서 Sheet1 (Sheet1)을 두 번 누릅니다.

3. 왼쪽 드롭 다운 목록에서 워크 시트를 선택하십시오. 오른쪽 드롭 다운 목록에서 변경을 선택하십시오.

Excel VBA에서 워크 시트 변경 이벤트

워크 시트 변경 이벤트에 다음 코드 줄을 추가하십시오.

4. double 유형의 amount와 Integer 유형의 변수 i로 불리는 변수를 선언하십시오.

Dim amount As Double, i As Integer

5. 워크 시트 변경 이벤트는 Sheet1의 모든 변경 사항을 수신합니다. 셀 B2에서 무언가가 바뀌면 Excel VBA 만 수행하면됩니다. 이를 위해 다음 코드 줄을 추가하십시오.

If Target.Address = "$B$2" Then

6. 변수 양을 셀 B2의 값으로 초기화합니다.

amount = Range("B2").Value

7. 우리는 빈도로 범위를 비 웁니다.

Range("B5:B16").Value = ""

8. 이제는 입력 한 금액을 분할 할 시간입니다. 우리는 For Next 루프를 시작합니다.

For i = 5 To 16

9. 우리는 Do While Loop 구조를 사용할 것입니다. 이 단어들 사이에 삽입 된 코드는 Do While 이후의 부분이 참일 때 반복됩니다. 금액이 셀 (i, 1) .value보다 크거나 같으면 Excel VBA에서 10 단계에서 코드 줄을 반복하기를 원합니다.

Do While amount >= Cells(i, 1).Value

Loop

10. Do While 루프에 다음 코드 행을 추가하십시오.

Cells(i, 2).Value = Cells(i, 2).Value + 1
amount = amount - Cells(i, 1).Value

설명: amount가 Cells (i, 1) .value보다 크거나 같으면 금액에는이 값의 지폐 / 동전이 포함됩니다. 결과적으로 Excel VBA는이 bill / coin (첫 번째 줄)의 빈도를 증가시키고 금액 (두 번째 줄)에서 bill / coin의 값을 뺍니다. 이 과정은 금액이 셀 (i, 1). 값보다 작아 질 때까지 반복됩니다. 다음으로 Excel VBA는 i를 증분하고 다음 지폐 / 동전으로 이동하여이 지폐 / 동전이 왼쪽에 몇 번이나 들어 있는지 확인합니다. 이렇게하면 돈이 더 이상 나뉘지 않을 때까지 금액이 지폐와 동전으로 분리됩니다.

11. For Next 루프를 닫고 Do 문을 닫는 것을 잊지 마십시오 (Do While 루프 외부 모두).

   Next i
End if

12. 프로그램을 테스트하십시오.

결과:

지폐 및 동전 결과

노트 : 물론 입력 한 금액에는 반드시 모든 지폐 / 동전이 들어있는 것은 아닙니다. 금액에 특정 지폐 / 동전이 포함되어 있지 않으면 Do While 이후 부분이이 지폐 / 동전에 대해 사실이되지 않으며 Excel VBA가 바로 다음 지폐 / 동전으로 이동합니다.

또한 읽으십시오 :