1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

안녕하세요 아별님^^

 

엑셀초보입니다 처음 방문하는데 질문부터 올리니 죄송하네요~

 

질문내용을 글로 표현하기 어려워 첨부파일로 넣었습니다

 

답변부탁드립니다

 

감사합니다 


댓글 '1'

profile

[레벨:30]아별

2010.03.23 00:20:16
*.130.73.75

추천
1
비추천
0

일단 질문과 같이 요구하시는 이유를 모르겠습니다...

데이터가 있는 시트에서 자동필터를 지정하고, 회사명으로 필터링하시면 쉽게 원하는 결과를 볼 수 있는데..

굳이 별도의 시트에서 조회를 하려는 의도를 잘 모르겠습니다.

 

아별툴 사용자라면 Ctrl+Shift+F를 누르면 현재 선택된 셀 값으로 자동필터링해줍니다.

Ctrl+Shift+Y를 누르면 전체보기가 되구요. Ctrl+Shift+R은 현재 열의 자동필터링만 취소.

 

암튼.. 질문에서 요청하신 바를 첨부파일과 같이 구현해봤습니다. ㅎㅎ

고급필터를 이용해서 해당값만 필터링하고, 필터링된 결과를 조회화면에 복사하는 방식입니다.

이름을 사용한 이유는 양식이 바뀌어도 정상적으로 작동시키기 위해서입니다.

셀을 직접참조하게 되면 열을 하나만 삽입해도 제대로 작동하지 않는 경우가 많습니다.

이름을 참조하게 되면 셀이 바뀌면 이름의 영역도 같이 바뀌게 되어, VBA코드를 수정할 필요가 없습니다.

(다만.. 시트명을 바꾸게 되면 VBA코드를 수정해야합니다. 시트 정의 라인 1줄만하면 되겠죠?)

 

첨부파일을 참고하세요.

다운받기 : abyul_20100322_고급필터-3.xls 

                   (조건에 해당하는 값이 없는 경우에 대한 에러처리 추가 2012.07.24)

 

 

 

어느 수준으로 설명드려야할지 잘 몰라서 일단 간략히 설명드립니다.
이해정도를 말씀해주시면, 반응에 맞춰 추가 설명 드리겠습니다.
솔직히 모두 설명드리기는 힘들고, 회원님의 공부가 선행되어야하는 부분이 있습니다.
1. 아래와 같이 이름을 정의합니다.
고객사명은 아래에 리스트가 추가되면 자동으로 확장되는 동적 참조 영역입니다.
고객사명 =OFFSET(MasterCode!$B$4,1,0,COUNTA(MasterCode!$B:$B)-COUNTA(MasterCode!$B$1:$B$4),1)
조회결과 =조회화면!$B$7:$F$13
필터조건 =조회화면!$F$2:$F$3
2. F3셀에, 고객사명만 선택하도록 아래와 같이 유효성검사를 추가합니다. (단축키:Alt+D,L)
아래의 고객사명은 위에서 이름 정의해준 영역입니다.
데이터 > 유효성검사 > 목록 > =고객사명
3. 아래와 같이 VBA를 작성합니다.
Option Explicit
Sub autoFilterByCompany()
    Dim shtDB As Worksheet
    Dim shtTarget As Worksheet
    Dim rngAutoFilter As Range
    
    Set shtDB = Worksheets("DataBase")
    Set shtTarget = Worksheets("조회화면")
    Set rngAutoFilter = shtDB.Range("A1").CurrentRegion
    
    Range("조회결과").Clear
    
    rngAutoFilter.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
        ("필터조건"), Unique:=False
        
    Set rngAutoFilter = rngAutoFilter.Resize(rngAutoFilter.Rows.Count - 1, _
            rngAutoFilter.Columns.Count - 1).Offset(1, 1).SpecialCells(xlCellTypeVisible)
    rngAutoFilter.Copy Range("조회결과")
    
    shtDB.ShowAllData
End Sub
4. Sheet1에 아래와 같이 시트 변화에 따라 반응하는 코드를 작성합니다.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("필터조건").Resize(1).Offset(1).Address Then
        Call autoFilterByCompany
    End If
End Sub
5. 끝

첨부
문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 43227
682 [문의드릴께요]엑셀 창끼리 alt+tab으로 전환이 안됩니다. file [1] [레벨:1]윤여준 2010-01-15 5808
681 속도가 자꾸 느려집니다. 해결방법이 있을까여?? [2] [레벨:6]ryanoh 2010-10-18 5733
680 엑셀에서 특정일자 구하는 함수식좀 부탁드립니다. file [1] [레벨:1]비비빅 2009-07-22 5731
679 초보 엑셀사용자입니다. 회사안에선 아무도 모르는 거라 엑신님께 여쭈어봅니다.!! [1] 박민철 2009-07-01 5710
678 [엑셀관련 질문] Excel파일內 개체삽입 관련.. [2] [레벨:1]Jay 2009-07-07 5692
677 엑셀 수식중에 =+HY/D7와 같은 =+수식의 의미가 무엇인가요? [1] [레벨:3]읍내꽃미남 2011-01-07 5684
676 sumif 함수에 대해서 file [1] [레벨:5]눈물바다 2009-09-30 5672
675 엑셀일반 단축키가 안됩니다(찾기,Ctrl+F) ,Ctrl+G [3] [레벨:5]맑은이슬 2013-03-26 5670
674 셀병합 관련 질문 file [1] 야옹이 2010-02-12 5663
673 함수 질문 드려요~ file [3] [레벨:1]만두주름 2010-04-12 5653
672 선그래프에서 연장선을 값으로 나타내고 싶어요.. file [2] [레벨:1]수범아빠 2009-07-10 5642
671 엑셀일반 매번 불편한 부분이 있어서 질문드립니다. _ 여러 행 또는 열을 한번에 삽입하는 방법.. [4] [레벨:4]알랑알랑♥ 2011-11-29 5638
670 엑셀일반 콤보박스의 값 하나를 선택하면 또 다른 목록이 보이는 콤보박스 만들기 등 file [2] [레벨:4]성투은자 2012-09-18 5636
669 셀 곱하기 [3] [레벨:5]눈물바다 2009-09-30 5631
668 엑셀수식 문자가 포함된 값찾기 file [1] [레벨:4]요셉 2013-01-07 5612
667 피벗테이블 그룹질문... imagefile [1] [레벨:1]변종텔레토비 2010-04-01 5596
666 어떻게 하면 이렇게 변환하는 기능을 만들수 있을까요? file [1] [레벨:1]칼리스토 2009-07-01 5596
» 문의드립니다~ _DB에서 원하는 목록만 불러오기(고급필터) file [1] [레벨:2]대뚜 2010-03-22 5587
664 엑셀값 자동산출하고 싶은데 순환참조가 걸리네여... file [레벨:1]돌연변이 2009-08-20 5584
663 엑셀일반 예전에 해결해준 공휴일 조건부서식에 대한 재질문 등 file [2] [레벨:4]성투은자 2012-12-13 5573