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

작성자:  

 invoke (k7355213)

추천:  0
파일:     실적계산기 테스트(24.1.26) (원본).xls (42.5KB) 조회:  82
제목:   vba 날짜형식 변경 질문입니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

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

기존에 제공되는 자료데이터 중 상담일자 항목이 8자리 문자에서 (ex. 20240430)

중간에 하이픈이 들어간 형태 (ex. 2024-04-30)으로 제공하도록 변경되어 작동을 제대로 하지 않게 되었습니다.



그래서 생각한것이 실행 초기에 A열의 데이터값을 2024-04-30 -> 20240430 으로 변경하는명령어를 넣는게 

기존 코드를 건드리지 않고 제대로 작동할수 있겠구나 생각이 들었습니다. 

그래서 초반에 datZ = Format(rRow.Cells(1, 1), "00000000") 를 넣고, 

A열의 데이터들을 2024-04-30 -> 20240430 형식으로 변경하고, datZ에 넣고

기존 datY 를 산출하는 곳을 지정하는 rRow.cells(1, 1)을 datZ로 변경하였습니다. 

그랬더니 '91' 런타임 오류가 발생합니다.
개체 변수 또는 wite 문의 변수가 설정되어 있지 않다고 합니다.

어디서 잘못된걸까요
 
[불량 게시물 신고]  
재현A열에 2024-04-30로 입력하면 셀서식은 날짜형식으로 자동 변경되어 Format(rRow.Cells(1, 1), "00000000") 실행시 00045412값으로 변경됩니다.
20240430형식으로 하고자 하면 아래와 같이 변경하요 보세요.
Format(rRow.Cells(1, 1), "yyyymmdd")
rRow.Cells(1, 1).NumberFormatLocal = "G/표준"
05-01 (10:38)
삭제 ■신고
        
  

작성일 : 2024-04-30(13:34)
최종수정일 : 2024-04-30(13:34)