[vb6.0/vba] [vba] 필터처럼 검색한 데이터의 병합된 모든 행 숨기기
하나를하더라도최선을
2020-02-27 02:50
3,659
0
본문
매크로로 필터처럼 검색된 데이터를 숨기거나 표시할 수는 있으나 데이터가 많은경우 올바르지 않습니다.
아래와 같이 10,000개의 데이터중에서 검색한 데이터만 숨겨 보겠습니다.
아래처럼 검색 프로시저를 만들었습니다.
Sub program1472_com()
Cells.EntireRow.Hidden = False
DoEvents
Application.ScreenUpdating = False
Dim C As Range, value As String, v As Variant
Dim strAddr As String, rng As Range
Set rng = ActiveSheet.UsedRange
value = InputBox("검색할 텍스트를 ,로 분리해서 넣으세요")
For Each v In Split(value, ",")
Set C = rng.Find(what:=v, lookat:=xlPart) '// XlLookAt 상수인 xlWhole 또는 xlPart 중 하나일 수 있습니다.
If Not C Is Nothing Then
strAddr = C.Address
Do
C.MergeArea.EntireRow.Hidden = True
Set C = rng.FindNext(C)
Loop While Not C Is Nothing And strAddr <> C.Address
End If
Next
MsgBox "완료!!"
End Sub
"02,011,김" 입력후 실행!!
필터에 비하면 어마어마한 시간이 걸리네요...
반대로 작업하는건 더 시간이 많이 걸리겠지요..
검색한게 나오게 할려면 찿은 셀을 기억했다가 반대로 숨겨야 하니까요
댓글목록0