VBA를 이용한 재고 활용보고 질문드립니다.
VBA
작성자
황수형(Gallent)
작성일
2021-08-02 00:14
조회
1938
안녕하세요.
유튜브에서 8시간 강의인 '엑셀 VBA 완전 정복 - 8시간 풀영상 ㅣ 실무에서 필요한 핵심기능 총 정리 ㅣ 엑셀 재고관리 툴 만들기'를 보며 따라한 뒤 어느정도 익혀진 것 같아 회사 재고를 예제로 만들어 스스로 만들어가던 도중 오류가 발생해서 이렇게 질문드립니다.
등록을 코딩하여 F5키를 눌러 작동여부를 활용하는데 13 런타임 오류가 발생했다는 버그가 나오는데,
아무리 영상을 찾아봐도 어떤게 잘못된건지 잘 모르겠더라고요...
혼자 해결하려고 사이트와 영상, 코드를 전부 확인해보았습니다만 미숙한 실력으로 도무지 확인할 방법이 없네요.
답변 꼭 부탁드리겠습니다.
감사합니다.
Sub Registercustomer() Dim DB As Variant Insert_Record itmlist, Me.txtType.Value, Me.txtLnumber.Value, Me.txtLocation.Value, Me.txtDlocation.Value, _ Me.txtName.Value, Me.txtModel.Value, Me.txtCategory.Value, Me.txtSize.Value, Me.txtAmount.Value, Me.txtMemo.Value DB = Get_DB(itmlist) Update_List Me.lstMain, DB, "0pt;50pt;70pt;50pt;100pt;200pt;0pt;100pt;100pt;60pt;50pt;" End Sub Function Get_MaxID(WS As Worksheet) As Long With WS Get_MaxID = .Cells(1, .Columns.Count).End(xlToLeft).Value .Cells(1, .Columns.Count).End(xlToLeft).Value = .Cells(1, .Columns.Count).End(xlToLeft).Value + 1 End With End Function
전체 18,479
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
![]() ![]() |
![]() ![]() |
2022.02.03 | 573 | 601510 | ||
공지사항 | 문서서식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(197)
오빠두엑셀
|
2021.10.28
|
추천 310
|
조회 35014
|
![]() ![]() |
2021.10.28 | 310 | 35014 |
78443 | 함수/공식 |
New 조건 맞는 값 찾기
![]() ![]() ![]() |
![]() |
22:21 | - | 14 |
78440 | 문서서식 |
New 셀 사용자지정서식 10.0억 표시 방법
(1)
답변완료
![]() |
![]() |
18:45 | - | 39 |
78436 | 기능/도구 |
New 파워포인트 내 엑셀시트의 리본메뉴 활성화방법은?
(1)
![]() |
![]() |
15:27 | - | 47 |
78431 | VBA |
New IF 조건문 기초 질문 드립니다.
![]() ![]() |
![]() |
00:46 | - | 104 |
78428 | 기능/도구 |
New 보이는 범위의 셀로만 붙여넣기하는 법
![]() ![]() |
![]() |
2025.04.29 | - | 107 |
78424 | 함수/공식 |
New 생년월일 6자리로 나이 계산 어떻게 하나요?
(8)
![]() |
![]() |
2025.04.29 | - | 115 |
78421 | 함수/공식 |
New INDEX + MATCH 함수 문의
(2)
![]() |
![]() |
2025.04.29 | - | 110 |
78420 | 함수/공식 |
New 여러시트 중에 같은내용을 찾기
![]() ![]() ![]() |
![]() |
2025.04.29 | - | 84 |
78419 | 문서서식 |
New 크기가 다른 셀에서의 필터 걸기 부탁드립니다 !
![]() ![]() |
![]() |
2025.04.29 | - | 74 |
78418 | 함수/공식 |
New [퀴즈] 텍스트 압축/변형하기
![]() ![]() ![]() |
![]() |
2025.04.29 | - | 158 |
78416 | VBA |
New 시트보호된 상태에서 매크로 작동시 Range 클래스 중 Insert 메서드에 오류가 있습니다.
![]() ![]() |
![]() |
2025.04.29 | - | 60 |
78414 | 파워쿼리/피벗 |
New 다른 엑셀 파일에서 필요한 값만 불러오는 방법
![]() ![]() |
![]() |
2025.04.29 | - | 70 |
78413 | 함수/공식 |
New 경과주 구하는 수식 문의
(1)
![]() |
![]() |
2025.04.29 | - | 69 |
78411 | 문서서식 |
New 숫자 문자인식 숫자변환하는 법
![]() ![]() |
![]() |
2025.04.29 | - | 81 |
78410 | VBA |
New [매크로관련] 특정셀 자동증가하며, 연속출력할수 있을까요?
![]() ![]() |
![]() |
2025.04.29 | - | 95 |
78408 | 문서서식 |
New 숫자 서식 변경하기
![]() ![]() |
![]() |
2025.04.29 | - | 71 |
78407 | 기능/도구 |
New 원드라이브 MICROSOFT 365 사용중 공동작업시 필터
![]() ![]() |
![]() |
2025.04.29 | - | 61 |
78402 | 함수/공식 |
New 괄호안의 시간:분 데이터를 분으로 합산하는 방법 질문드립니다.
![]() ![]() ![]() |
![]() |
2025.04.28 | - | 74 |
78400 | 함수/공식 |
New 2차배열에서 countif
![]() ![]() |
![]() |
2025.04.28 | - | 99 |
78399 | 함수/공식 |
New 한달의 마지막주 스케쥴 작성시 전주까지의 휴무 누적 합계 구하는 방법이 궁금합니다.
![]() ![]() ![]() |
![]() |
2025.04.28 | - | 60 |
78398 | VBA |
New VBA 매크로 여러 엑셀 파일에서 사용
(1)
![]() |
![]() |
2025.04.28 | - | 89 |
78396 | 함수/공식 |
New 직원별로 근태 합계를 확인하고 싶어요
![]() ![]() |
![]() |
2025.04.28 | - | 122 |
78395 | 함수/공식 |
New 특정 단어를 포함한 행 골라내는 방법에 대해 문의드립니다.
(3)
답변완료
![]() |
![]() |
2025.04.28 | - | 82 |
78392 | 함수/공식 |
New 도와주세요... ( 특정값에 해당하는 반 번호 찾아 목록만들기)
![]() ![]() ![]() |
![]() |
2025.04.28 | - | 89 |
78389 | 기능/도구 |
New 오빠두LIVE 196회 - 엑셀 프로젝트 관리 _ 일,주 바꾸는법
![]() ![]() |
![]() |
2025.04.28 | - | 77 |
78387 | 함수/공식 |
New 엑셀 관련 질문입니다. SUM과 IFERROR 입니다 ㅠ
(6)
![]() |
![]() |
2025.04.27 | - | 122 |
78382 |
New Excel 추세선 이상
![]() ![]() |
![]() |
2025.04.27 | - | 91 | |
78381 | 함수/공식 |
New 같은 이름 N 번째 데이터
![]() ![]() ![]() |
![]() |
2025.04.27 | 1 | 128 |
78380 | 함수/공식 |
New On Error Resume Next 문구를 삽입하는 위치는?
(2)
답변완료
![]() |
![]() |
2025.04.27 | - | 97 |
78376 | 함수/공식 |
New 지역별 증감금액 확인
![]() ![]() |
![]() |
2025.04.26 | - | 90 |
@황수형(Gallent) 님 1. 어떠한 상황에서 2. 무슨 코드를 실행하면 3. 어느 부분에서 오류가 발생하는지 같이 적어주셔야 될 것 같습니다~^^
@더블유에이 님
그리고 모듈에는 오빠두엑셀님께서 제공한 코드를 입력하였습니다. 하단은 모듈에 들어있는 코드입니다.
그 뒤 F5키를 이용하여 폼 창을 띄운뒤 빈 칸에 내용을 입력한 후 등록버튼을 누르면 '13 런타임 오류가 발생하였습니다. 형식이 일치하지 않습니다.'라는 문구가 뜨고 디버그를 클릭하게 되면 하단의 코드 중 일부 내용에서 노란색 오류 문단이 보입니다.
상기 내용과 관련된 유튜브는 다음과 같습니다. (1:04:58)
더불어 실전연습하던 파일을 다시 한 번 업로드하오니 꼭 좀 참고 부탁드리겠습니다.
어떤 문제로 오류가 발생하는지 꼭 좀 알고 싶습니다. ㅠㅠ
첨부파일 : 실전연습.xlsm
@황수형(Gallent) 님 Get_MaxID는 Long으로써 숫자를 받는 코드입니다.
재고관리 영상을 초반에 보면 제품 ID, 고객 ID등등의 ID를 참조하여 각각의 ID에 맞는 제품을 찾아야한다 라고 설명을 해주십니다.
즉 Get_MaxID는 작업을 할 시트의 ID값의 최대 값을 불러오는 입니다.
그리고 재고관리 파일의 거래처시트의 첫 행 F열을 보시면 ID값이 적혀있는데 지금 주신 파일에는 (건들지마시오)라는 Text가 있습니다.
그러므로 Get_MaxID는 Long으로써 숫자를 받아야하지만 (건들지마시오)라는 텍스트가 있기 때문에 값을 정확하게 불러오지못하는것입니다.
@iviolin**** 님 답변 너무 감사드립니다!
다만 그러면 [건들지마시오]를 삭제하면 해결되는걸까요?
@황수형(Gallent) 님 간단하게 생각하면
에서
If InStr(1, .Cells(1, 1).Value, "ID") > 0 Then
cID = Get_MaxID(WS)
.Cells(cRow, 1).Value = cID
만 지우시면 작동은 됩니다. 다만
등록 버튼을 누르실때 ID를 자동적으로 증가시키는 것을 없에고, ID열이 없으므로 다른 사용자 지정 함수 Connect_DB 등과 같은 함수를 쓸때와 파일안의 다른 함수,메크로를 쓰실때 전부 조금씩은 손봐줘야 할 겁니다.
여기서 설명을 해드리기엔 코딩이란 셀 하나의 이동만으로도 연쇄작용으로 여러개 바꿔야 하기때문에 답변을 제대로 못해드립니다.
@황수형(Gallent) 님 저도 같은 문제로 고민했는데 [건들지마시오] 텍스트를 삭제하고, 시트 마지막 행에 입력된 ID 숫자에 1을 추가해 삭제된 셀에 넣으니 정상 작동하네요. ^^
@서정달 님 감사합니다! 덕분에 해결했어요! ლ(╹◡╹ლ)