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

작성자:  

 MoriU (theweif66)

추천:  2
파일:     조회:  1778
제목:   지정된 범위의 다음 행에 데이터 입력 방법.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007): 2016

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

Worksheets("지역정보").Range("K" & 24 + RegRaw(1)).Value = Regionbox1.Value 

RegRaw = K열에 입력된 데이터의 수입니다.  K열은 지역정보의 Index값 이구요.

위 코드를 입력하면 지역정보 시트의 k24셀부터 RegRaw범위에 입력된 데이터 수만큼 아래 셀로 내려 데이터를 입력하는 코드인데

새로운 정보를 등록할 때 해당 범위 제일 마지막에 입력하는 코드로 잘 작동합니다. 

문제는 아래의 코드로 변경했을 때 

Worksheets("지역정보").Range("Index").End(xlDown) = Regionbox1.Value 

제일 밑에 있는 값이 새롭게 입력되는게 아니라 값이 교체됩니다. 마지막행 범위로 지정되서 그런 것 같은데 마지막 행보다 하나 더 내려가 새로운 데이터를 입력하게 하려면 어떻게 해야될까요?
 
[불량 게시물 신고]  
조삿갓Worksheets("지역정보").Range("Index").End(xlDown).cells(2,1) = Regionbox1.Value 
또는
Worksheets("지역정보").Range("Index").End(xlDown).offset(1,0) = Regionbox1.Value 
cells 개체는 1을 기준으로, offset 개체는 0을 기준으로 하여 (행위치, 열위치)를 지정합니다.
범위 개체에 종속하여 사용하면, 직상위 개체의 위치로부터 상대 위치 값을 계산한 셀을 지칭하게 되지요.
예)
Range("Index").cells(1,0) 또는 Range("Index")..offset(0,-1)은 Range("Index")의 좌상단 셀보다 한 칸 왼쪽에 있는 셀을 가리킵니다.
10-31 (23:42)
삭제 ■신고
MoriU아! 비슷한 구성을 했다가 적용이 안되서 함수 적용이안되는줄 알았는데 셀 순서를 잘못알고있었네요.

정말 감사드립니다.
11-02 (17:25)
삭제 ■신고
        
  

작성일 : 2017-10-31(15:10)
최종수정일 : 2017-10-31(15:10)