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

 김한국 (kisshejjo)

추천:  2
파일:     조회:  3345
제목:   셀에 수식을 넣을때 셀주소가 자동증가
     
  For i = 1 To 100
                     
  Worksheets("2019").Cells(i + 8, 4) = "=IFERROR(VLOOKUP(C9,재물조사!$D$5:$d$2004,i,0),"")"
                        
Next

c9 주소가 자동으로 증가하는 방법이 무엇이 있을까요?
c10, c11, c112.....이런식으로요...
급하니 고수님들 도움좀 부탁드립니다.
 
[불량 게시물 신고]  
조삿갓Worksheets("2019").Cells(i + 8, 4).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],재물조사!R5C4:R2004C104,i,0),"")"

VB 코드로 셀에 수식을 자동 입력하려면
수식 안에 주소를 쓸 때 R1C1 방식으로 쓰는 것이 안전한 방법입니다.

A1 방식으로는 주소를 계산하기도 복잡하고, For 루프를 돌리기도 영~ 거시기합니다.

RC[-1]은 현재 셀을 기준으로 같은 행에서 한 칸 왼쪽에 있는 셀(상대참조)
R5C4는 5번째 줄 4번째 열 즉, $D$5입니다.(절대참조)
04-25 (23:41)
삭제 ■신고
조삿갓그리고, 지금 작성하신 원본 수식에 논리오류가 보입니다.
DB 테이블 범위가 $D$5:$d$2004이 정말 맞나요? 이건 한 줄짜리인데...
그러면 세 번째 파라메터(열 번호 값)는 1 밖에 쓸 수 없습니다.
그리고 그렇게 쓰는 VLOOKUP은 아무런 의미가 없지요.
결국 C9의 값만 반환할 수 있으니까요.

그리고 세 번째 파라메터 역시 i로 쓰셨는데
i는 100까지 가는데요?

필시 결과가 의도하신대로 안 나올 것 같습니다. 확인해 보세요.
04-25 (23:41)
삭제 ■신고
조삿갓일단 VB가 아닌 워크시트에서
해당 수식을 그 셀(D9)에 하나 입력해 보고 제대로 값이 나오는지 확인해 보세요.
수식을 제대로 수정한 다음에...

파일 - 옵션 메뉴 실행
 왼쪽에서 '수식' 탭 클릭
 둘째 큰 항목 '수식 작업' 아래 보시면
'R1C1 참조 스타일'이라는 항목에 체크를 하세요.

그리고 시트에 돌아와 보면 입력한 수식의 모양이 변해 있을 겁니다.

이 수식을 복사해서
VB 코드의 우변 따옴표 안에 붙여넣기 하시면 됩니다.
04-25 (23:41)
삭제 ■신고
김한국도움에 감사드립니다.  도움주신데로 하였는데...런타임 오류가 생기네요....ㅠㅠ 무엇이 문제일까요???

For i = 1 To 2000                  
Worksheets("2019").Cells(i + 8, 4).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],재물조사!R5C4:R2004C4,1,0),"")"
Next
04-26 (10:43)
삭제 ■신고
        
  

작성일 : 2018-04-25(15:32)
최종수정일 : 2018-04-25(15:32)
 


 ◎ 관련글

  제 목   작성자   날짜
셀에 수식을 넣을때 셀주소가 자동증가 김한국 2018-04-25
[RE]셀에 수식을 넣을때 셀주소가 자동증가 김한국 2018-04-26