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

 dew (dewdrop)

추천:  2
파일:     질문(13)_Ans.xlsm (3525.8KB) 조회:  1827
제목:   [RE]VBA 고급필터 기능관련 문의드립니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

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

안녕하세요 현재 VBA를 열심히 배우고 있는 중입니다 ㅎ
다른분들이 올리신 내용들을 참조하여 하나하나 따라하며 배우고
있는데 VBA의 고급필터 기능 관련 문의 드립니다.

아래 첨부된 파일에서
제가 검색을 눌렀을때

DB시트에서 검색시 
DB시트에 걸려있는 수식까지 복사해 올 수 있는 방법이 있을까요?
검색을 누르면 계속 값만 붙여넣어 지네요.

아무리 검색해도 획인이 어려워 문의 드립니다.

혹시나 고급필터 기능이 안된다면
다른 기능들을 이용해 같은 구조로 만들수 있는 방법이
있는지도 문의 드립니다.

작업중인 내용은 첨부하였습니다.
조언 부탁드리겠습니다.
감사합니다.
==============[폴라리스님 글에 대한 답변입니다]==============

필터후 보이는 셀의 영역이 여러개일 경우 복사를 하면 값만 복사됩니다.
약간의 다른 방법으로(선택영역중에서 보이는셀의 영역만 각각 복사)처리했습니다.


Sub UserAdvancedFilter()
    Dim wst As Worksheet
    Dim rDB As Range, rX As Range
    Dim rTg As Range
    Dim rCriteria As Range
    
    Set rDB = Worksheets("DB").[A1].CurrentRegion
    
    Set wst = Worksheets("검색")
    Set rCriteria = wst.[B4].CurrentRegion
    Set rTg = wst.[B10]
    rTg.CurrentRegion.ClearContents
    
    rDB.AdvancedFilter xlFilterInPlace, rCriteria
    
    For Each rX In rDB.SpecialCells(xlCellTypeVisible).Areas
        If rTg <> "" Then Set rTg = wst.Cells(Rows.Count, 2).End(xlUp).Offset(1)
        rX.Copy rTg
    Next
    
    rDB.Parent.ShowAllData
End Sub
 
[불량 게시물 신고]  
폴라리스감사합니다~ 덕분에 잘 해결했습니다!09-18 (18:55)
삭제 ■신고
        
  

작성일 : 2019-09-18(11:25)
최종수정일 : 2019-09-18(11:25)
 


 ◎ 관련글

  제 목   작성자   날짜
VBA 고급필터 기능관련 문의드립니다. 폴라리스 2019-09-18
[RE]VBA 고급필터 기능관련 문의드립니다. dew 2019-09-18