2017-10-11 2 views
0

다른 워크 시트에서 새 값을 찾고 새 값을 원래 워크 시트 아래로 1 행에 복사하는 코드가 있지만 완벽하게 작동하지만 지금은 복사 할 코드를 변경해야합니다전체 행을 다른 워크 시트에 복사

Dim Lastrow  As Long 'the last row in Sheet2 col E 
    Dim iRow1   As Long 'the row number on Sheet1 
    Dim Sh1   As Worksheet 
    Dim Sh2   As Worksheet 

    Set Sh2 = ThisWorkbook.Worksheets("originalwkb") 
Set Sh1 = Workbooks("383839.xlsb").Sheets(3) 

ThisWorkbook.Activate 
    Lastrow = Sh2.Range("e65536").End(xlUp).Row 

    iRow1 = 2 

    ' Loop through values in column E of Sheet1 


    Do 
     Set FindCell = Sh2.Range("E2", Sh2.Cells(Lastrow, "E")).Find(What:=Sh1.Cells(iRow1, "E"), _ 
      After:=Sh2.Range("E2"), LookIn:=xlValues, LookAt:=xlWhole) 
     If FindCell Is Nothing Then 
     'add to bottom of list 
     Lastrow = Lastrow + 1 
     Sh2.Cells(Lastrow, "E") = Sh1.Cells(iRow1, "E") 
     End If 
     iRow1 = iRow1 + 1 
    Loop Until IsEmpty(Sh1.Cells(iRow1, "E")) 
+0

값이있는 행 전체 또는 값이있는 행의 마지막 열을 포함하는 전체 행? 복사 할 범위 내에 공백이있을 수 있습니까? – QHarr

+0

발견 된 셀 옆에 복사 할 열 수를 설정 한 경우 크기 조정 방법을 사용하여 인접한 셀 값을 캡처 할 수 있습니다. – QHarr

+0

거기에있는 전체 행의 값은 예를 들어 열 A : Z에서 발견됩니다 (발견 된 값이 열 E에 있음에도 불구하고). 두 시트의 모든 열이 일치합니다 (A : Z). – Roca

답변

0

당신은 변경해야합니다에만 새로운 발견 값 (1 셀)하지만, 전체 행, 나는 코드를 변경 시도했지만 나는 그것이 동작하지 않습니다, 여기 만 복사 한 셀 코드입니다 다음 행.

Sh2.Cells(Lastrow, "E") = Sh1.Cells(iRow1, "E") 

편집

Sh2.Rows(Lastrow).Value = Sh1.Rows(iRow1).Value 

에 : 나는 대답을 읽지 않기 때문에 @Scott Craner 회신 보지 않았다. 우리는이 대답에 대해 몇 가지 크레딧을 줄 수 있다고 생각합니다.

+0

완벽한! Scott의 대답과 같습니다. 매력처럼 일했습니다! – Roca

+0

@Roca 그래, 그의 대답을 보지 못했다. 나는 그에게 약간의 신용도주기 위해 나의 지위를 편집했다. – Teasel

관련 문제