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

작성자:  

 기기 (skj4290)

추천:  2
파일:     조회:  1795
제목:   ActiveSheet.Range("num") 궁금합니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(2010):

* 아래줄에 질문을 작성하세요 >>

row_cnt = Left(ActiveSheet.Range("num"), Len(ActiveSheet.Range  ("num")) - 2) + 1

row_cnt 변수에  Range 영역을 말하는 것 같은데... "num" 이부분이 
이해가 가지 않습니다.
해석부탁드립니다.
 
[불량 게시물 신고]  
조삿갓VB편집기 말고 워크시트에서 [수식] 리본메뉴 중간 쯤에 보면
[이름관리자]라는 게 있습니다. 그걸 눌러보면 목록 창이 뜨는데, 이름이 num이라고 된 걸 찾아보세요. 참조대상에 주소가 보일 겁니다. 예를들어, 그 주소가 =Sheet1!$B$3 으로 되어 있다면
Activesheet 즉, 현재 활성화되어 있는 시트가 Sheet1일 경우에(그러지 않으면 여기서 런타임 오류가 발생할 수 있습니다)
ActiveSheet.Range("num")은 B3 셀에 입력된 데이터(아마 문자열이겠지요)를 가져옵니다.
Len(ActiveSheet.Range("num"))은 그 문자열의 길이이고
거기서 2를 뺀 길이만큼만 왼쪽 문자를 취하니까
 Left(ActiveSheet.Range("num"), Len(ActiveSheet.Range  ("num")) - 2)
은 결국 B3 셀에 입력된 문자열 중 뒤에 두 글자를 제외한 문자열만 가져오지요.
아마도 B3 셀에는 숫자와 문자가 섞인 코드값을 갖고 있는 모양이네요. 거기서 앞 쪽 숫자부분만 취한 다음에 또 1을 더해주는군요. 그 결과를 row_cnt에 저장하라는 뜻입니다.
01-20 (11:35)
삭제 ■신고
조삿갓아마도 VB는 초보이신 것 같은데
이 정도 예시 설명으로 이해가 되실지 모르겠습니다.
파일을 첨부해 주셨더라면 
더 구체적이고 확실한 답변이 가능하겠습니다만...
01-20 (11:38)
삭제 ■신고
기기^^;; 감사합니다... 너무 설명을 친절하게  해주셔서 감사합니다. 초보티가 너무 많이 나서 나이먹고(46살) 젊은 사람들한테
짐되기 싫어서 그냥 여기저기 잘해놓은 거 보다보니 너물 질문이 두서가 없었나 봅니다... 감사드립니다..
01-21 (21:00)
삭제 ■신고
        
  

작성일 : 2018-01-19(22:38)
최종수정일 : 2018-01-19(22:38)