Q5. 특정 조건에 맞는 셀의 정보를 얻는 방법?
편의상 여기에서는, 어느 직장의 멤버의 나이가 써 있는 정보라고 가정해 둡니다.
여기에서 나이가 30세 이상인 사람이 몇명 있는지 알아보는 매크로를 만들어 보겠습니다.
조사 후 창에서 30세 이상의 사람은 00명입니다. 라는 구체적으로 메시지를 표시하겠습니다.
포인트는 조건 분기입니다. if 문을 사용하여 30 명 이상의 사람들이 있습니다.
어떻게 표현해 나갈까요.
또한, 어떻게 셀의 정보를 참조할지도 하나의 포인트입니다.
이번에는 forEach 문이라는 구문을 사용합니다.
그럼, 매크로 쪽을 봐 갑시다.
Sub Q5_Answer()
Dim i As Range
Dim cnt As Integer
For Each i In Range("C2:C8")
If i.Value >= 30 Then
cnt = cnt + 1
End If
Next i
MsgBox "30歳以上の人数は" & cnt & "人です。"
End Sub
3행째에 포인트가 되는 ForEach문이 나오고 있네요.
ForEach 문은 여러 데이터를 처리할 때 유용한 구문입니다.
예를 들어, 이번 예에서 말하면, Range("C2:C8")로 하고 있으므로,
i에는 C2~C8의 Range 정보가 차례로 저장됩니다.
forEach 문 루프 내에서 30 개 이상의 데이터를 검사하는 if 문을 작성하고,
조건에 맞으면 cnt라는 인원수를 계산하는 변수에 값을 더해갑니다.
그리고 마지막 MsgBox라는 함수로 메시지를 표시합니다.
덧붙여서, 매크로를 실행한 결과는 다음과 같은 화면이 됩니다.
제대로, 인원수가 표시되고 있네요.
물론 데이터를 바꾸면 결과도 바뀌므로 시도해보십시오.
이번은 꽤 간단한 매크로이지만, 여러가지 응용이 가능합니다.
예를 들어, 앙케이트에 "예"라고 대답한 사람의 수를 카운트하는 매크로이거나라든지,
술자리 출처를 계산할 때이거나 특정 데이터를 조사한다는 장면은
일상적으로 상당히 있습니다.
그런 경우에 매크로에 떨어뜨릴 수 있으면 꽤 편해질 것입니다.
Reference
이 문제에 관하여(Q5. 특정 조건에 맞는 셀의 정보를 얻는 방법?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/guren111/items/40af20cc74d958603993텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)