2016-09-27 2 views
0

각 행 (열 U)에 대한 특정 열의 값을 기반으로 원본 시트 (티켓 판매)의 행을 복사하여 새 시트 (Rachel)에 붙여 넣으려고합니다. Rachel의 모든 판매가 다른 용지로 복사되기를 바랍니다. 두 번째 시트의 서식은 변경되지 않습니다. 제대로셀 입력을 기반으로 데이터 복사 및 붙여 넣기

이 좋아하는 모든 범위의 정의에 워크 시트를 참조해야합니다

Sub CopyRachelDataPaste()  
    Dim i, LastRow 

    'Get Last Row 
    LasRow = Sheets("Ticket Sales").Range("A" & Rows.Count).End(xlUp).Row 
    'Clear Contents 
    Sheets("Rachel").Range("A2:AB3000").ClearContents 

    For i = 2 To LastRow 
     If Sheets("Ticket Sales").Cells(i, "U").Value = "Rachel" Then 
      Sheets("Ticket Sales").Cells(i, "U").EntireRow.Copy Destination:=Sheets("Rachel").Range("A" & Rows.Count).End(xlUp).Offset(1)  
     End If 
    Next i 
End Sub 
+0

당신은 오타가 이것은 내가 지금까지 무엇을 가지고 "). ...'는'LastRow = Sheets ("Ticket Sales") 여야합니다. ... '. (Explicit 옵션을 사용하면이를 감지 할 수 있습니다.) –

답변

0

다음과 같습니다 :`LasRow = 시트 ("티켓 판매 :

Option Explicit 

Sub CopyRachelDataPaste() 
    Dim i As Long, lastRow As Long 

    Worksheets("Rachel").Range("A2:AB3000").ClearContents 'Clear Contents 
    With Worksheets("Ticket Sales") '<--| reference ticket worksheet 
     lastRow = .Range("A" & .Rows.Count).End(xlUp).Row '<--| get referenced worksheet column "A" last non empty row  
     For i = 2 To lastRow 
      If .Cells(i, "U").Value = "Rachel" Then .Cells(i, "U").EntireRow.Copy Destination:=Worksheets("Rachel").Range("A" & Worksheets("Rachel").Rows.Count).End(xlUp).Offset(1) 
     Next i 
    End With 
End Sub 
+0

고마워요! 훌륭하게 작동합니다. 또한 EntireRow가 아닌 ​​특정 수의 열만 복사하여 지나치고 싶다면 어떻게해야합니까? 예를 들어 Row A에서 V까지 열 – Jexcel

+0

당신은 천만 다. _original_ 질문을 이행 했으므로 답변에 동의 함으로 표시해주십시오. 고맙습니다. 그런 다음이 사이트 규칙에 따라 새로운 문제에 대한 새로운 게시물을 만들어야합니다. – user3598756

관련 문제