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

작성자:  

 會計達人 (fbehsgh)

추천:  2
파일:     작업중t(1)(2).xlsm (19.7KB) 조회:  3179
제목:   코드 수정 부탁드립니다;;
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

* 아래줄에 질문을 작성하세요 >>
제가 코드를 전혀 몰라서요; 아래도 다른분이 해주신건데 잘 되지 않아서요;;
시트2의 A1셀이 바뀔때마다, 시트1에서 A1셀의 내용을 포함하는 모든 정보들을 끌어오는 건데요,
아래 코드로는 처음에 끌어온 정보들이 10행이고, 다음에 끌어온게 2행이면, 2행만 나오는게 아니라 10행 그대로 있고 위에 2행만 바뀌는데요

A1셀의 내용 바뀔때마다 완전히 지워지지 않고 불러오는 거 같은데 어떻게 해야 할지 몰르겠네요;;
 
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rngArea As Range, rngColumn As Range
  Dim strList As String
  Dim r As Integer
    If Target.Address <> "$A$1" Then Exit Sub
     If IsEmpty(Target) Then Exit Sub
       strList = Target.Value
    Set rngArea = Sheet1.Range("A3").CurrentRegion
    Set rngColumn = rngArea.Columns(1) '
      
     Range("A5:E5").ClearContents
       r = WorksheetFunction.CountIf(rngColumn, strList)
    If r = 0 Then
     MsgBox " 입력하신 " & strList & "에 해당하는 자료가 없습니다! ", 64, _
     "   입력오류 // "
     Exit Sub
   Else
     With rngColumn
      .AutoFilter 1, strList, , , 0
       rngArea.Copy Range("A5")
      .AutoFilter
     End With
    Application.CutCopyMode = False
 End If
End Sub




 
[불량 게시물 신고]  
김정호'Range("A5:E5").ClearContents   '// ????

'// 아래 코드로 바꿔보세요
 Range(Range("A6:E6"), Range("A6:E6").End(xlDown)).Delete
08-23 (09:41)
삭제 ■신고
會計達人먼저 감사드립니다, 제가 원하더 거네요~^^
 
근데 실행하니, 시트보호를 하지 않았는데도 시트보호가 되있어서 실행이 안됩니다 해결책이 있을까요 (첨부파일말고 제가가진 원본 파일에서요;;;;)

그리고, A1셀의 내을을 직접 입력이 아닌 끌어오는형태, 예를 들어 =sheet3!A1 이런식으로 바뀐다면 안되는 건가요??
08-23 (11:01)
삭제 ■신고
        
  

작성일 : 2010-08-23(08:52)
최종수정일 : 2010-08-23(08:52)