【Excel VBA】 사용자 정의 함수로 객체 수를 계산합니다.
기사 개요
자신의 비망록도 겸해, 마음이 돌 때 작성한 함수를 올려 갑니다.
환경
사용자 정의 함수
Public Function cntObjects(objName As String) As Long
Dim obj As Object
For Each obj In Sheet1.OLEObjects
If obj.Name Like "*" & objName & "*" Then
cntObjects = cntObjects + 1
End If
Next
End Function
보충
무엇을 하고 있는가 하면...
Sheet1의 모든 객체 참조
→ 객체 이름에 objName이 포함되어 있으면
→cntObjects +1
*이번은 「Sheet1」을 지정하고 있습니다만 여기는 스스로 변경해 주세요.
* objName에는 "TextBox"인 "OptionButton"인 것을 넣어주세요.
사용 예
준비
개발 탭 > 삽입 > ActiveX 컨트롤로 CheckBox를 6개 삽입했습니다.
①CheckBox의 수를 메시지 박스에 표시
Public Sub ex1()
MsgBox cntObjects("CheckBox")
End Sub
② 체크가 들어간 CheckBox의 수를 메시지 박스에 표시
Public Sub ex2()
Dim i As Long
Dim cnt As Long
Dim buf As String
buf = "CheckBox"
For i = 1 To cntObjects(buf)
If Sheet1.OLEObjects(buf & i).Object.Value = True Then
cnt = cnt + 1
End If
Next i
MsgBox cnt
End Sub
Reference
이 문제에 관하여(【Excel VBA】 사용자 정의 함수로 객체 수를 계산합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/m0ka/items/3049caeefca8739cecbe
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Public Function cntObjects(objName As String) As Long
Dim obj As Object
For Each obj In Sheet1.OLEObjects
If obj.Name Like "*" & objName & "*" Then
cntObjects = cntObjects + 1
End If
Next
End Function
준비
개발 탭 > 삽입 > ActiveX 컨트롤로 CheckBox를 6개 삽입했습니다.
①CheckBox의 수를 메시지 박스에 표시
Public Sub ex1()
MsgBox cntObjects("CheckBox")
End Sub
② 체크가 들어간 CheckBox의 수를 메시지 박스에 표시
Public Sub ex2()
Dim i As Long
Dim cnt As Long
Dim buf As String
buf = "CheckBox"
For i = 1 To cntObjects(buf)
If Sheet1.OLEObjects(buf & i).Object.Value = True Then
cnt = cnt + 1
End If
Next i
MsgBox cnt
End Sub
Reference
이 문제에 관하여(【Excel VBA】 사용자 정의 함수로 객체 수를 계산합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/m0ka/items/3049caeefca8739cecbe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)