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

작성자:  

 정승원 (aabbb)

추천:  2
파일:     날짜별 데이터 소트.xlsm (16.5KB) 조회:  2979
제목:   날짜별 데이터 매크로
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

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

화살표를 누르면 날짜가 올랐다가 내렸다가 하고
범위내의 데이터만 보여주는 매크로를 작성하려는데 어떻게 해야하나요?
 
[불량 게시물 신고]  
조삿갓동일한 질문을 차알돌이님께 답변한 적이 있습니다.
http://www.officetutor.co.kr//board/DType/bfrmvw.asp?f_tn=Dqa_excel_n2&f_bno=124059

워크시트에 삽입하는 양식컨트롤로서의 스핀단추는 두가지 아주 불편한 제약이 있습니다.
1) 최소값은 0 이상이어야 함(음수를 쓸 수 없음)
2) 최대값은 30000 이하여야 함(그 이상의 값은 불가)

만일, 제약 2)만 아니라면 단지 날짜를 표출할 I4 셀 자체를 스핀단추에 연결해 놓는 것만으로도, 이 스핀단추로 임의 날짜를 쉽게 조정할 수 있습니다.
그러데 불행하게도, 요즘의 날짜 일련번호는 40000을 훌쩍 넘고 있습니다.
그래서 스핀단추로 직접 조정이 가능한 최대 날짜가 1982-2-18이 한계입니다.
가장 쉬운 해결 방법은,
시작 날짜 스핀단추에 연결하는 셀을 $I$2로 설정하고, I4 셀에는
=I2+40000
이라고 수식을 입력하면 간단히 해결될 것입니다.
물론 입력 허용 날짜 범위에 따라 더해주는 수치 값이나 
스핀단추의 초기값을 적당히 알아서 조정해 주시면 됩니다
05-09 (14:05)
삭제 ■신고
조삿갓I2셀에 숫자가 보이는 게 거북스러우면
화면 영역 밖의 셀(Z2 셀 등)로 참조를 옮기거나
또는 I2 셀의 표시형식을 사용자지정 ""으로 지정하는 방법이 있습니다.

종료날짜 역시 같은 방법으로 응용해 보시기 바랍니다.
05-09 (14:05)
삭제 ■신고
정승원그 날짜를 스핀으로 움직이면 자동으로 필터해서 해당 범위의 일자만 보여주는 것은 어떻게 해야하나요?05-09 (14:12)
삭제 ■신고
정승원ActiveSheet.ListObjects("표5_15").Range.AutoFilter Field:=1, Criteria1:= _
        "=2018-05-09", Operator:=xlAnd

여기서 날짜 부분(2018-05-09)을 셀에 들어있는 데이터(P2셀)를 이용할 수 있도록 바꿀 수 있나요?
05-09 (14:28)
삭제 ■신고
조삿갓매크로 기록기를 켜고 말씀하신 기능을 실행해 보면 다음과 같이 기록됩니다.

Sub 매크로1()
'
' 매크로1 매크로
'

'
    ActiveSheet.ListObjects("표1").Range.AutoFilter Field:=1, Criteria1:= _
        ">==$I$4", Operator:=xlAnd, Criteria2:="<==$K$4"
End Sub

그런데 사실은 날짜 필터에서 날짜 범위를 선택하고 들어가 보면, 다른 필터의 경우와 달리 기준 날짜를 셀 참조로 쓸 수 없습니다. 그걸 억지로 키보드에서 =$I$4 와 같이 입력하여 기록한 매크로이죠. 보다시피 오류가 보입니다.
그리고 필터도 사실상 먹히지 않고요.(하나도 안 보이게 됨)
05-09 (21:31)
삭제 ■신고
조삿갓어차피 매크로 기록기로 기록된 매크로는 내 입맛에 맞게 수정해서 써야 합니다.
그래서 다음과 같이 수정합니다.

Sub 날짜변경()
    ActiveSheet.ListObjects("표1").Range.AutoFilter Field:=1, Criteria1:= _
        ">=" & Range("$I$4"), Operator:=xlAnd, Criteria2:="<=" & Range("$K$4")
End Sub

그리고 나서, 해당 스핀단추 두 개를 각각 마우스 오른쪽 단추로 클릭하여
매크로 지정을 선택하고,
실행할 매크로에 '날짜변경'을 선택하여 지정하면 됩니다.
05-09 (21:36)
삭제 ■신고
        
  

작성일 : 2018-05-09(10:49)
최종수정일 : 2018-05-09(10:49)