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

작성자:  

 vba뉴비 (sene10)

추천:  2
파일:     REPLACE.xls.xlsx (17.5KB) 조회:  2040
제목:   replace와 변수 관련 질문입니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007): 오피스365

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

2021-04-08  9:30:00 AM

위와 같은 양식의 수십개의 셀들이 있습니다.

여기서 제가 "2021-04-08  "<-과 같이 여백2칸을 포함한 오늘날짜를 지우고 싶습니다.




그래서 매크로를 이용해서 코드를 따봤는데 다음과 같이 나왔습니다.




    Cells.Replace What:="2021-04-09  ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2




여기 날짜 부분을 변수로 지정해놓으면 되겠다 싶어서 변수를 지정해서 실행 해보려고 하였습니다만,

제 지식이 부족해서 이것저것 해봤는데 정확한 방법을 모르겠습니다.

제가 시도한 방식은 이렇습니다.




Dday = Format(Date, "yyyy/mm/dd") & "  "

Dday = Format(Date, "yyyy/mm/dd  ")

Dday = Format(Date, "yyyy/mm/dd" & "  ")  




위와 같이 변수지정을 해주었으나 전혀 변경될 기미도 안보이네요..

또한 이해가 안가는것이, "그럼 날짜만 지우고 공백을 따로 지워보자"라고 생각하여




Dday = Format(Date, "yyyy/mm/dd") 이렇게 변수잡고




    Cells.Replace What:=Dday, Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2




이렇게 해도 날짜가 지워지지 않습니다.. "  " 이걸로 하면 공백은 지워지긴 하더군요. 그리고 replace 뒤에 메서드?들이 줄줄이 달려있는데 꼭 전부 다 써야하나요?

그래서 제가 프로그래밍 언어쪽은 아예 처음인데다가 독학인지라 기본이 부족해서

이런 간단한 문제도 해결하기가 힘드네요. 혹시 아시는 분이 계시다면 답변해주시길 부탁드립니다.

파일 첨부하였습니다.
 
[불량 게시물 신고]  
slgi셀서식 -> 사용자 지정 -> 형식  
hh:mm:ss AM/PM  또는  h:mm:ss AM/PM
으로 바꿔보세요

엑셀서식은 데이터를 어떻게 표현해줄지를 결정해주는것입니다. 날짜가 지워지지 않는것은 실제 숫자를 엑셀에서 날짜로 변환하여 보여주기 때문입니다. 만약 말씀하신대로 바뀌어야 된다면 그건 날짜로 표시되는기 아니라 단순히 문자열로 표시되는 경우에 해당됩니다. 
04-13 (12:46)
삭제 ■신고
vba뉴비헐 감사합니다! 많이 배우고 갑니다!ㅜㅜ04-18 (14:01)
삭제 ■신고
        
  

작성일 : 2021-04-13(11:01)
최종수정일 : 2021-04-13(11:01)