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

작성자:  

 머털도사^^ (motuli)

추천:  2
파일:     Date-Find 질문.xls (121.5KB) 조회:  775
제목:   [질문 3] Find 메서드 vs. 날짜 Data 형식 ??????? (예제화일 2 첨부)
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

1. 엑셀 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...): 

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

지난번에도 비슷한 문제로 한번 고생을 한 적이 있었는데,
다시 질문 올립니다.

폼의 텍스트박스에 년/월/일에 해당되는 값을 입력하고 단추를 누르면, 특정 시트에서 해당일자의 자료가 있는지를 Find 메서드로 검색하여, 찾은 위치를 msgbox로 돌려주는 예제 프로그램입니다.

1. A102 셀에 "2004-10-22" 라는 날짜가 입력되어 있고,
또, A103 셀에는 "2004-10-24" 라는 날짜가 입력되어 있습니다.

2. 두 셀 모두 셀서식은 '사용자정의' yyyy"-"mm"-"dd 입니다.

3. A102는 손으로 입력을 하였고, A103은 다른 폼을 이용하여,
Range("A103").Value = Format(년 & "-" & 월 & "-" & 일, "yyyy-mm-dd")
라는 공식을 통해입력된 값입니다. (여기에서, 년,월, 일 등은 TextBox를 통해 입력되는 값(숫자)입니다.)

3개의 VBA 명령 단추를 만들어 두었는데요,

각각은 Set rngX = Range(Range("A1"),Range("A1").End(xlDown)).Find (날짜, Range("A1"), xlValues, xlWhole, xlBycolumns, xlNext, False, False)로 되어 있고,

여기에서, 대략

1) 날짜 = 년 & "-" & 월 & "-" & 일, "yyyy-mm-dd"
2) 날짜 = Cstr(년 & "-" & 월 & "-" & 일)
3) 날짜 = Format(Cstr(년 & "-" & 월 & "-" & 일), "yyyy-mm-dd")

이런 식으로 되어 있습니다.(중간에 수정을 수없이 해봤습니다.)

문제는 Find 메서드의 what 인수의 형식을 어떻게 바꾸더라도, 1), 2), 3) 3개의 실행단추 중에 A102 셀과 A103 셀의 값을 동시에 찾아내는 놈이 없다는 것입니다.

즉, A102 셀과 A103 셀에서, 하나의 형식이 인식되면, 다른 하나의 형식은 인식이 안된다는 것이지요.

앞에서 말씀드린대로 A102 셀과 A103 셀은 겉으로 보기에 날짜만 다를 뿐 형식도 똑같은 상태입니다. (A102의 셀서식을 복사해서 A103에 뒤집어 씌우면, A102를 찾을 수 있는 방법으로 A103까지 찾을 수는 있던데,)

1. 도대체 왜 이런 현상이 발생하는 것인지?

2. A103 셀과 A102 셀(의 데이터 형식)을 모두 찾을 수 있으려면 어떻게 Find 메서드의 what 인수의 형식을 설정해야 하는지?

초절정 고수님들의 답변 기다리겠습니다.

감사합니다~~ ^^

--------------------------------------------------------

- 이번에 올린 화일은 앞에 올린 화일과 다릅니다.

- 앞에 올렸던 화일도 참고해주세요~~ (VBA 만드느라 고생했습니다~~^^)
 
[불량 게시물 신고]  
황기성엑사모에서 답변드렸습니다.

http://excellove.com

그럼...행운이 있으시길..!
08-31 (09:22)
삭제 ■신고
        
  

작성일 : 2004-08-31(07:54)
최종수정일 : 2004-08-31(07:57)