2013-02-17 5 views
0

나는 누군가가 저를 도울 수 있는지 궁금합니다 :VBA 붙여 넣기 범위

아래의 코드를 사용하여 한 시트에서 다른 시트로 데이터 행을 복사 할 수 있습니다. 주어진 범위의 셀은 비평 공식 결과와 일치합니다.

Sub test() 
    Set Sht = Sheets("Sheet 1") 
    rw = 5 
    Do While Len(Sht.Cells(rw, "A").Value) > 0 
     If Sht.Cells(rw, "B").Value > 0 Then 
      ResourcesAllUsed = True 
      For colm = 3 To 25 Step 2 
       If (Sht.Cells(rw, colm + 1).Value < (Sht.Cells(rw, colm).Value * 0.85)) Or (Sht.Cells(rw, colm + 1 + 25).Value < (Sht.Cells(rw, colm + 25).Value * 0.85)) Then 
        ResourcesAllUsed = False 
        Exit For 
       End If 
      Next colm 
      If Not ResourcesAllUsed Then 
       With Sheets("Sheet 2") 
        NextRw = .Cells(.Rows.Count, "A").End(xlUp).Row + 1 
        .Cells(NextRw, "A").Resize(, 26).Value = Sht.Cells(rw, "A").Resize(, 26).Value 
        .Cells(NextRw, "AD").Value = Sht.Cells(rw, "AD").Value 
       End With 
      End If 
     End If 
     rw = rw + 1 
    Loop 
    End Sub 

복사본이 제대로 작동하지만 붙여 넣기 시작에 약간 문제가 있습니다.

"A5"에서 붙여 넣기를 시작하고 싶습니다만, 어떤 이유로 "A2"에서 붙여 넣기가 시작됩니다.

나는 누군가가 이것을 볼 수 있을지 궁금해하고 내가 잘못되어 가고있는 곳을 알려주고 싶다.

많은 감사 안부

NextRow 변수 데이터 만이 A1 인 (또는 A1의 어느 것도 없다)을 의미 루프를 통해 처음 A2로 설정

답변

0

. A5의 시작을 강제로 당신의 라인을 변경할 수 있습니다 :

NextRw = Application.WorksheetFunction.Max(.Cells(.Rows.Count, "A").End(xlUp).Row + 1,5) 

를이 감사합니다, 당신이 (또는 1) 4.

+0

안녕 @Doug 클랜시을 통해 행에 빈 셀이있을 것이다 의미 내 게시물에 답장 할 시간을 내 주셔서 대단히 감사합니다. 당신의 솔루션은 훌륭하게 작동합니다. 모든 최고 및 친절한 의견 – IRHM