여러 TextBox에 숫자만 입력할 수 있도록 하기

VBA
작성자
호잇
작성일
2025-04-05 16:12
조회
193
엑셀버전 : 엑셀2016

운영체제 : 윈도우11

질문 요약 : 사용자 정의 폼에서 특정 조건을 만족하는 복수개의 텍스트박스에 입력 제한 요건 걸기

안녕하세요, 챗지피티로 코드 긁어서 쓰는 초보입니다..

학교 담당자분들에게 통계자료를 받아야 하는데요, 엑셀이 익숙하지 않은 분들도 있을 것 같아서

사용자 정의 폼으로 조금 편하게 입력하실 수 있도록 틀을 만들고 있어요

 

문제의 본론으로 들어가면,

TextBox의 이름 앞 3글자가 '학급수, 학생수, 대기수' 인 경우에 숫자만 입력할 수 있도록

제한하고 싶은데요(숫자 외의 것을 입력하면 숫자만 입력 가능하다는 MsgBox도 출력되게요)

 

문제는 해당되는 TextBox가 18개라서, 코드를 좀 조건에 해당하는 경우에만 적용되게 예쁘게 만들고 싶었는데..

챗GPT가 불러주는 코드로는 잘 적용이 안되네요.. TextBox가 MultiPage안에 있어서 그런가 했는데 그것도 아닌거같구..

 

아래는 실패한 코드입니다.

고수님들의 고견 기다립니다!!!

 

Private Sub UserForm_Initialize()
Dim pg As Object
Dim ctl As Control

' 폼 전체 컨트롤을 순회
For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Then
Call 숫자입력제한설정(ctl)
ElseIf TypeName(ctl) = "MultiPage" Then
' 멀티페이지 내부 컨트롤도 검사
For Each pg In ctl.Pages
Dim subCtl As Control
For Each subCtl In pg.Controls
If TypeName(subCtl) = "TextBox" Then
Call 숫자입력제한설정(subCtl)
End If
Next
Next
End If
Next
End Sub

' 특정 TextBox에 숫자 입력 제한 설정
Private Sub 숫자입력제한설정(ByVal ctl As Control)
Select Case Left(ctl.Name, 3)
Case "학급수", "학생수", "대기수"
ctl.OnKeyPress = "숫자입력제한"
End Select
End Sub

' 숫자 입력 제한 함수
Private Sub 숫자입력제한(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57) And KeyAscii <> 8 Then ' 숫자(0~9)와 백스페이스만 허용
KeyAscii = 0
End If
End Sub

신고
스크랩
공유
회원등급 : 2레벨
포인트 : 45 EP
총질문 : 1 개 (마감율 : 0%)
채택답변 : 0 개
전체 0

전체 18,476
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
오빠두엑셀 | 2022.02.03 | 추천 573 | 조회 600969
오빠두엑셀 2022.02.03 573 600969
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 310 | 조회 34973
오빠두엑셀 2021.10.28 310 34973
78431 VBA
New IF 조건문 기초 질문 드립니다. 첨부파일 (4) 답변완료
neoburi | 00:46 | 추천 0 | 조회 61
neoburi 00:46 - 61
78428 기능/도구
New 보이는 범위의 셀로만 붙여넣기하는 법 첨부파일 (2)
유도연 | 2025.04.29 | 추천 0 | 조회 86
유도연 2025.04.29 - 86
78424 함수/공식
New 생년월일 6자리로 나이 계산 어떻게 하나요? (7)
망나 | 2025.04.29 | 추천 0 | 조회 93
망나 2025.04.29 - 93
78421 함수/공식
New INDEX + MATCH 함수 문의 (2)
박상선 | 2025.04.29 | 추천 0 | 조회 87
박상선 2025.04.29 - 87
78420 함수/공식
New 여러시트 중에 같은내용을 찾기 엑셀파일첨부파일 (1)
박석철 | 2025.04.29 | 추천 0 | 조회 71
박석철 2025.04.29 - 71
78419 문서서식
New 크기가 다른 셀에서의 필터 걸기 부탁드립니다 ! 첨부파일 (3) 답변완료
Aberdeen | 2025.04.29 | 추천 0 | 조회 59
Aberdeen 2025.04.29 - 59
78418 함수/공식
New [퀴즈] 텍스트 압축/변형하기 엑셀파일첨부파일 (8)
마법의손 | 2025.04.29 | 추천 0 | 조회 114
마법의손 2025.04.29 - 114
78416 VBA
New 시트보호된 상태에서 매크로 작동시 Range 클래스 중 Insert 메서드에 오류가 있습니다. 첨부파일 (1)
jihye**** | 2025.04.29 | 추천 0 | 조회 53
jihye**** 2025.04.29 - 53
78414 파워쿼리/피벗
New 다른 엑셀 파일에서 필요한 값만 불러오는 방법 첨부파일
망그러진나나 | 2025.04.29 | 추천 0 | 조회 60
망그러진나나 2025.04.29 - 60
78413 함수/공식
New 경과주 구하는 수식 문의 (1)
엑셀렙업용 | 2025.04.29 | 추천 0 | 조회 58
엑셀렙업용 2025.04.29 - 58
78411 문서서식
New 숫자 문자인식 숫자변환하는 법 엑셀파일 (5)
패션피플 | 2025.04.29 | 추천 0 | 조회 75
패션피플 2025.04.29 - 75
78410 VBA
New [매크로관련] 특정셀 자동증가하며, 연속출력할수 있을까요? 엑셀파일 (5) 답변완료
박병호 | 2025.04.29 | 추천 0 | 조회 87
박병호 2025.04.29 - 87
78408 문서서식
New 숫자 서식 변경하기 첨부파일 (3) 답변완료
에그셀 | 2025.04.29 | 추천 0 | 조회 64
에그셀 2025.04.29 - 64
78407 기능/도구
New 원드라이브 MICROSOFT 365 사용중 공동작업시 필터 첨부파일 (1)
록키발보아 | 2025.04.29 | 추천 0 | 조회 55
록키발보아 2025.04.29 - 55
78402 함수/공식
New 괄호안의 시간:분 데이터를 분으로 합산하는 방법 질문드립니다. 엑셀파일첨부파일 (1) 답변완료
nams | 2025.04.28 | 추천 0 | 조회 68
nams 2025.04.28 - 68
78400 함수/공식
New 2차배열에서 countif 첨부파일 (9) 답변완료
라면이가좋아 | 2025.04.28 | 추천 0 | 조회 88
라면이가좋아 2025.04.28 - 88
78399 함수/공식
New 한달의 마지막주 스케쥴 작성시 전주까지의 휴무 누적 합계 구하는 방법이 궁금합니다. 엑셀파일첨부파일 (3)
쭈누 바라기 | 2025.04.28 | 추천 0 | 조회 54
쭈누 바라기 2025.04.28 - 54
78398 VBA
New VBA 매크로 여러 엑셀 파일에서 사용 (1)
shhhha | 2025.04.28 | 추천 0 | 조회 85
shhhha 2025.04.28 - 85
78396 함수/공식
New 직원별로 근태 합계를 확인하고 싶어요 엑셀파일 (12) 답변완료
배진희 | 2025.04.28 | 추천 0 | 조회 117
배진희 2025.04.28 - 117
78395 함수/공식
New 특정 단어를 포함한 행 골라내는 방법에 대해 문의드립니다. (3) 답변완료
mmm1010 | 2025.04.28 | 추천 0 | 조회 76
mmm1010 2025.04.28 - 76
78392 함수/공식
New 도와주세요... ( 특정값에 해당하는 반 번호 찾아 목록만들기) 엑셀파일첨부파일 (6)
김동생 | 2025.04.28 | 추천 0 | 조회 82
김동생 2025.04.28 - 82
78389 기능/도구
New 오빠두LIVE 196회 - 엑셀 프로젝트 관리 _ 일,주 바꾸는법 엑셀파일 (1)
일류 | 2025.04.28 | 추천 0 | 조회 72
일류 2025.04.28 - 72
78387 함수/공식
New 엑셀 관련 질문입니다. SUM과 IFERROR 입니다 ㅠ (6)
| 2025.04.27 | 추천 0 | 조회 119
2025.04.27 - 119
78382
New Excel 추세선 이상 엑셀파일 (2)
eagle | 2025.04.27 | 추천 0 | 조회 89
eagle 2025.04.27 - 89
78381 함수/공식
New 같은 이름 N 번째 데이터 엑셀파일첨부파일 (14) 답변완료
박정호 | 2025.04.27 | 추천 1 | 조회 124
박정호 2025.04.27 1 124
78380 함수/공식
New On Error Resume Next 문구를 삽입하는 위치는? (2) 답변완료
GEEM | 2025.04.27 | 추천 0 | 조회 94
GEEM 2025.04.27 - 94
78376 함수/공식
New 지역별 증감금액 확인 엑셀파일 (3) 답변완료
충무공 | 2025.04.26 | 추천 0 | 조회 86
충무공 2025.04.26 - 86
78374 함수/공식
New index를 활용한 조건에 맞는 금액을 찾는 방법 엑셀파일첨부파일 (4)
뚜둥뚜둥 | 2025.04.26 | 추천 0 | 조회 105
뚜둥뚜둥 2025.04.26 - 105
78372 기능/도구
New 표서식 차이 문의 첨부파일 (2) 답변완료
hossang**** | 2025.04.25 | 추천 0 | 조회 74
hossang**** 2025.04.25 - 74
78370 피벗테이블
New (피벗테이블) 2024년 2025년 판매 TOP10 비교데이터 첨부파일 (13)
패션피플 | 2025.04.25 | 추천 0 | 조회 109
패션피플 2025.04.25 - 109