OfficeTutor.com
배움터 나눔터 교육센터 오튜장터
 통합검색  
  Home > 나눔터 > 엑셀 > 묻고답하기
엑셀
워드
액세스
파워포인트
아웃룩
프런트페이지
인포패스
원노트
비지오
쉐어포인트
포토드로우
퍼블리셔
오피스공통
MVP 안내
MVP 명예의 전당
MVP 카페

 

 

 

 
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 조삿갓 (choga21)

추천:  0
파일:     운송장정리001[2].xlsm (35.4KB) 조회:  256
제목:   [RE]상품번호 변경하는 VBA 여쭙니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전2010

* 아래줄에 질문을 작성하세요 >>
엑셀의 시트는 두개 입니다.
주문데이터시트 : 주문이 들어오는 상품명과, 변경될 상품명의 두열로 되어 있습니다.
비교값시트 : 순서열과 찾을 문자열 두열로 되어 있습니다.(여기서 비교하여, 주문데이터시트의 내용을 변경하는 참조값)


작동은 주문데이터시트의 주문이 들어오는상품명에 비교값시트의 찾을 문자열의 내용이 포함되어 있으면, 비교값시트의 순서열의 번호로 바꾸어
주문데이터시트의 변경상품명의 열에 입력 입니다.

주문데이터시트 A2의 "001_구르미냉장고탈취제 | 랜덤"에 비교값시트의 "구르미냉장고탈취제"라는 텍스트가 포함되어 있으면,
비교값시트의 구르미냉장고탈취제에 해당하는 162번으로 바꾸어 주문데이터시트 B2에 162_구르미냉장고탈취제 | 랜덤이라고 적히면 됩니다.

"001_구르미냉장고탈취제 | 랜덤" >>>"162_구르미냉장고탈취제 | 랜덤"

앞의 숫자만 바꾸고, 나머지 글자는 모두 그대로 입력

내용이 없을때까지 반복
==============[김기동님 글에 대한 답변입니다]==============

일단 질문하신 내용은 굳이 VB 매크로가 아니라도
내장함수(워크시트 함수)만으로도 구현이 가능합니다.

첨부 파일에 두 가지 방법 모두 구현하였으니 참고 바랍니다.

B열은 VB로 구현한 것이고

D열은 워크시트 함수만으로 구현한 것입니다.
그리고 C열은 중복계산되는 중간값을 따로 계산한
보조 열입니다..

열별로 음영색이 동일한 것은
동일한 수식을 복사한 것을 나타냅니다.

즉, C2와 D2 셀에 각각 모범 수식을 입력하고
이것을 아래로 쭈욱 복사한 것입니다.

----------------------

그런데 질문 내용에 좀 문제점을 발견하였습니다.
5행과 6행에 보면 실리콘커버라는 동일 상품에 대해
규격에 따른 옵션이 존재하는 것 같은데
상품이 동일하면 옵션이 달라도 동일한 코드로
분류되는 것이 맞나요?

그렇다면 [비교값] 시트의 경우는
옵션과 상관 없이 상품명만으로 코드를 변경하는
테이블이므로
6~7행, 14~15행에 동일한 데이터를 중복하여
테이블을 만들 필요가 없습니다.
즉, 7행, 15행은 삭제해도 된다는 것이고
그래야 프로그램의 실행속도가 빨라질 것입니다.
(물론 컴퓨터가 워낙 빨라서 그 차이를 실감할 수는 없지만)

VB 코딩을 효율적으로 하기 위해서
비교값 테이블에 범위 이름을 정의하여 사용했습니다.

그런데 범위의 정의를 OFFSET 함수를 활용하여
가변 범위로 설정했기 때문에
데이터를 연속으로 입력하기만 하면
데이터를 추가/삭제하더라도 자동으로 인식하게 됩니다.
 
[불량 게시물 신고]  
        
  

작성일 : 2018-06-13(15:30)
최종수정일 : 2018-06-13(15:30)
 


 ◎ 관련글

  제 목   작성자   날짜
상품번호 변경하는 VBA 여쭙니다. 김기동 2018-06-13
[RE]상품번호 변경하는 VBA 여쭙니다. 조삿갓 2018-06-13

 
 
회사소개 | 이용약관 | 개인정보 처리방침 | 회원정보수정 | 교육신청 및 문의 | 이메일무단수집거부 위로

오피스튜터 블로그 오피스튜터페이스북 오피스튜터유투브
110-722 서울 종로구 세종대로23길 47, 601-74 ㈜오피스튜터 ☎1544-4102 대표이사 : 전경수
개인정보관리책임자 : 이희진(privacy@officetutor.com) 사업자등록번호 120-86-14501
통신판매업신고 2013-서울종로-0547
norton
Copyright ⓒ OfficeTutor.com 이 페이지의 저작권은 ㈜오피스튜터와 콘텐츠 제공자에게 있습니다. 무단 복제를 금합니다.
Microsoft 및 Office 로고는 미국, 대한민국 및/또는 기타 국가에서의 Microsoft Corporation 등록 상표 또는 상표입니다.