디자인모드 선택 후 판매입력 버튼을 더블클릭하면 첫번째 파일처럼 뜹니다. 후에 보기, 코드를 선택하면 두번째 파일처럼 판매입력, 클릭 프로시저가 아니라 일반, 선언 프로시저가 뜹니다. 어떻게 해야할까요?



안녕하세요.
첨부 화면을 보면 원인이 비교적 명확합니다. 현재 VBA 편집기에서 판매입력 단추의 코드가 아니라 Sheet1 워크시트 자체의 코드 창을 열고 있습니다. 그래서 왼쪽 목록에는 (일반), Worksheet만 나오고, 오른쪽에는 (선언)만 보이는 것입니다.
정상적으로 ActiveX 명령 단추의 이벤트 코드가 연결되어 있다면 해당 시트 코드 창의 왼쪽 위 목록에서 판매입력 또는 실제 단추 이름(예: cmd판매입력)을 선택할 수 있어야 하고, 오른쪽 목록에서 Click을 선택하면 다음과 같은 프로시저가 생성되어야 합니다.
Private Sub 판매입력_Click()
End Sub그런데 현재 화면에서 왼쪽 목록에 (일반)과 Worksheet밖에 없다는 것은 Excel이 그 단추를 해당 시트의 ActiveX 컨트롤로 인식하지 않고 있다는 의미입니다.
가장 먼저 확인할 것은 단추의 종류입니다. Excel에는 비슷하게 생긴 단추가 두 종류 있습니다.
ActiveX 컨트롤의 명령 단추 →
Private Sub ..._Click()이벤트 프로시저 작성 가능양식 컨트롤의 단추/일반 도형 → VBA 개체 목록에 나타나지 않고, 매크로를 직접 연결하는 방식
문제에서 판매입력 단추를 클릭할 때 이벤트 프로시저를 작성하라는 문제라면 제공된 단추는 보통 ActiveX 컨트롤이어야 합니다.
따라서 Excel로 돌아가서 [개발 도구] → [디자인 모드]를 켠 상태에서 판매입력 단추를 한 번 클릭 → 마우스 오른쪽 버튼을 눌러 보세요. 여기서 **[속성]과 [코드 보기]**가 나타나는 ActiveX 컨트롤인지 확인합니다.
ActiveX 단추라면 가장 확실한 방법은 다음입니다.
디자인 모드 ON → 판매입력 단추 오른쪽 클릭 → 코드 보기
정상이라면 자동으로
Private Sub cmd판매입력_Click()
End Sub처럼 해당 단추의 Click 이벤트로 이동합니다. 이때 cmd판매입력 부분은 실제 단추의 (Name)에 따라 달라집니다.
그런데 현재 화면처럼 계속 (일반)/(선언)만 나온다면
이 경우에는 단추가 ActiveX가 아니거나, ActiveX 컨트롤과 VBA 프로젝트의 연결이 정상적이지 않은 상태를 의심해야 합니다. 특히 화면에서 VBA 프로젝트에는 Sheet1 (무작정따라하기)와 현재_통합_문서만 보이고, Sheet1의 개체 목록에도 단추가 나타나지 않는 점이 중요합니다.
단추를 새로 만들기 전에 먼저 다음을 확인해 주세요.
판매입력 단추 → 오른쪽 클릭 → 속성
이 메뉴가 없다면 해당 단추가 ActiveX 명령 단추가 아닐 가능성이 높습니다.
반대로 [속성] 메뉴가 있고, 속성 창에서
(Name) : cmd판매입력
Caption : 판매입력처럼 나온다면 ActiveX 단추는 맞습니다. 이 상태인데도 왼쪽 개체 목록에 나타나지 않는다면 파일/ActiveX 쪽 문제를 추가로 확인해야 합니다.
그리고 임의로 기존 단추를 삭제하고 새 ActiveX 단추를 만드는 것은 아직 하지 마세요. 컴활 실기 파일은 제공된 컨트롤의 이름과 속성을 그대로 사용해야 하는 경우가 있으므로 원본 개체를 먼저 확인하는 것이 좋습니다.
지금 화면만 기준으로는 코드를 잘못 작성해서 생긴 문제가 아니라, 판매입력 단추가 VBA에서 이벤트를 가진 ActiveX 개체로 잡히지 않고 있는 상태가 핵심입니다. 판매입력 단추를 오른쪽 클릭했을 때 나오는 메뉴 또는 [속성] 창 화면을 보여주시면, 양식 컨트롤인지 ActiveX인지부터 정확하게 판별해서 다음 조치만 안내드릴 수 있습니다.
즐거운 하루 되세요.
-
관리자2026-09-11 09:02:54
안녕하세요.
첨부 화면을 보면 원인이 비교적 명확합니다. 현재 VBA 편집기에서
판매입력단추의 코드가 아니라Sheet1워크시트 자체의 코드 창을 열고 있습니다. 그래서 왼쪽 목록에는(일반),Worksheet만 나오고, 오른쪽에는(선언)만 보이는 것입니다.정상적으로 ActiveX 명령 단추의 이벤트 코드가 연결되어 있다면 해당 시트 코드 창의 왼쪽 위 목록에서
판매입력또는 실제 단추 이름(예:cmd판매입력)을 선택할 수 있어야 하고, 오른쪽 목록에서Click을 선택하면 다음과 같은 프로시저가 생성되어야 합니다.Private Sub 판매입력_Click() End Sub그런데 현재 화면에서 왼쪽 목록에
(일반)과Worksheet밖에 없다는 것은 Excel이 그 단추를 해당 시트의 ActiveX 컨트롤로 인식하지 않고 있다는 의미입니다.가장 먼저 확인할 것은 단추의 종류입니다. Excel에는 비슷하게 생긴 단추가 두 종류 있습니다.
ActiveX 컨트롤의 명령 단추 →
Private Sub ..._Click()이벤트 프로시저 작성 가능양식 컨트롤의 단추/일반 도형 → VBA 개체 목록에 나타나지 않고, 매크로를 직접 연결하는 방식
문제에서
판매입력단추를 클릭할 때 이벤트 프로시저를 작성하라는 문제라면 제공된 단추는 보통 ActiveX 컨트롤이어야 합니다.따라서 Excel로 돌아가서
[개발 도구] → [디자인 모드]를 켠 상태에서판매입력단추를 한 번 클릭 → 마우스 오른쪽 버튼을 눌러 보세요. 여기서 **[속성]과 [코드 보기]**가 나타나는 ActiveX 컨트롤인지 확인합니다.ActiveX 단추라면 가장 확실한 방법은 다음입니다.
디자인 모드 ON → 판매입력 단추 오른쪽 클릭 → 코드 보기정상이라면 자동으로
Private Sub cmd판매입력_Click() End Sub처럼 해당 단추의 Click 이벤트로 이동합니다. 이때
cmd판매입력부분은 실제 단추의(Name)에 따라 달라집니다.그런데 현재 화면처럼 계속
(일반)/(선언)만 나온다면이 경우에는 단추가 ActiveX가 아니거나, ActiveX 컨트롤과 VBA 프로젝트의 연결이 정상적이지 않은 상태를 의심해야 합니다. 특히 화면에서 VBA 프로젝트에는
Sheet1 (무작정따라하기)와현재_통합_문서만 보이고, Sheet1의 개체 목록에도 단추가 나타나지 않는 점이 중요합니다.단추를 새로 만들기 전에 먼저 다음을 확인해 주세요.
판매입력 단추 → 오른쪽 클릭 → 속성이 메뉴가 없다면 해당 단추가 ActiveX 명령 단추가 아닐 가능성이 높습니다.
반대로 [속성] 메뉴가 있고, 속성 창에서
(Name) : cmd판매입력 Caption : 판매입력처럼 나온다면 ActiveX 단추는 맞습니다. 이 상태인데도 왼쪽 개체 목록에 나타나지 않는다면 파일/ActiveX 쪽 문제를 추가로 확인해야 합니다.
그리고 임의로 기존 단추를 삭제하고 새 ActiveX 단추를 만드는 것은 아직 하지 마세요. 컴활 실기 파일은 제공된 컨트롤의 이름과 속성을 그대로 사용해야 하는 경우가 있으므로 원본 개체를 먼저 확인하는 것이 좋습니다.
지금 화면만 기준으로는 코드를 잘못 작성해서 생긴 문제가 아니라,
판매입력단추가 VBA에서 이벤트를 가진 ActiveX 개체로 잡히지 않고 있는 상태가 핵심입니다.판매입력단추를 오른쪽 클릭했을 때 나오는 메뉴 또는 [속성] 창 화면을 보여주시면, 양식 컨트롤인지 ActiveX인지부터 정확하게 판별해서 다음 조치만 안내드릴 수 있습니다.즐거운 하루 되세요.