2017-03-27 3 views
0

VBA에 대해 매우 익숙합니다. 1 통합 문서에서 데이터가있는 행을 복사하여 다른 통합 문서에 삽입하려고합니다. 소스의 행 개수는 가변적입니다. 대상에는 병합 된 셀이 이어지는 10 개의 사용 가능한 행만 있습니다.Excel VBA 복사, 붙여 넣기, 변수 행 삽입

목표 : 소스 행 수를 계산하면 10을 뺀 결과는 붙여 넣기 전에 대상 통합 문서에 삽입 할 행 수입니다.

예 : 병합 된 셀을 밀어 넣는 대상 WB에 32 개의 소스 행 (변경) - 10 개의 대상 행 (고정) = 22 행이 삽입됩니다. 결과가 < = 10이면 삽입하지 않고 붙여 넣기 만하면됩니다.

감사합니다. 이 같은

+0

우리 코드 –

+0

CallumDA보기 어제 그것을 해결! 나는 단지 마지막 라인을 수정해야했다! 고맙습니다! – Automat

답변

3

뭔가 :

Sub Test() 
    Dim sourceRange As Range, destinationRange As Range 
    Dim rowsToInsert As Long 

    With ThisWorkbook.Worksheets("Sheet1") 
     Set sourceRange = .Range(.Range("A1"), .Cells(.Rows.Count, "A").End(xlUp)) 
    End With 
    Set destinationRange = Workbooks("SomeBook.xlsx").Worksheets("Sheet1").Range("A1") 

    rowsToInsert = Application.Max(sourceRange.Rows.Count - 10, 0) 

    If rowsToInsert > 0 Then destinationRange.Resize(rowsToInsert, 1).EntireRow.Insert 

    sourceRange.EntireRow.Copy Destination:=destinationRange 
End Sub 
+0

정확히 내가 원했던 것! 당신의 도움 없이는 그것을 할 수 없었습니다! 왜 "sourceRange.EntireRow.Copy Destination : = destinationRange"오류가 발생했는지 모르겠지만 마지막 행을 선택하여 복사하여 붙여 넣을 코드를 찾았습니다. – Automat

관련 문제