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

작성자:  

 피치피치복숭 (hwang123h)

추천:  2
파일:     조회:  1571
제목:   vba검색시트 영역추가
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

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

안녕하세요, 엑셀 검색시트에 검색 열을 추가 하고싶은데요
현재 모듈 코드는

Sub 검색하기()
 Dim Sht As Worksheet
 Dim rng As Range, rngArea As Range, rngEnd As Range
 Dim X As New Collection
 Dim Rev() As Variant
 Dim i As Integer, n As Integer
 Dim T As String
   T = Range("D4").Value
 Range(Cells(8, 2), Cells(Rows.Count, 6)).ClearContents
For Each Sht In Worksheets
  With Sht
  If .Name <> "Main" Then
   With .Range("B12").CurrentRegion
     Set rngArea = .Offset(1).Resize(.Rows.Count - 1)
   End With
   If WorksheetFunction.CountIf(rngArea, "*" & T & "*") Then
    Set rngEnd = Cells(Rows.Count, 2).End(3)(2)
       On Error Resume Next
   For Each rng In rngArea.SpecialCells(2)
     If InStr(rng, T) Then
          r = rng.Row
         X.Add r, CStr(r)
      If Err.Number <> 457 Then
      ReDim Preserve Rev(1 To 7, n)
       For i = 1 To 7
         Rev(i, n) = Sht.Cells(r, i + 1).Value
        Next i
         n = n + 1
        End If
       Err.Clear
        End If
     Next rng
    rngEnd.Resize(n, 7) = Application.Transpose(Rev)
       n = 0
    End If
   End If
  End With
 Next Sht
End Sub
이렇게 되어있고 
검색 시트 코드는
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 With Target
 If .Address = "$D$4" Then
  If IsEmpty(Target) Then Exit Sub
        Call 검색하기
        .Select
  End If
   End With
End Sub
이렇게 되어있습니다. 어느 부분을 수정을 해야할까요?
현재는 1칸에서만 검색이 가능한데 5칸으로 늘리고 싶어요.
그리고 새로운 검색어를 입력했을 때 결과값으로 나온 값이
모두 지워졌으면 좋겠습니다. 어떻게 하면 좋을지ㅜㅜㅜ
도와주세요 선생님들!!
 
[불량 게시물 신고]  
        
  

작성일 : 2021-04-29(12:48)
최종수정일 : 2021-04-29(12:48)