"루핑"이 완료되면 범위의 첫 번째 셀 선택

"루핑"이 완료되면 범위의 첫 번째 셀 선택

한 시트의 섹션을 반복하는 스크립트가 있습니다(기능 테스트 절차) 해당 값을 다른 시트(결과) 셀 L2에 있습니다.

현재 설정되는 방식은 섹션 수를 반복하고 해당 값을 복사하여결과 시트L열의 다음 빈 셀을 선택합니다.

버튼을 여러 번 누르지 않는 한 잘 작동합니다. 버튼을 여러 번 누르면 이미 있던 결과 아래에 복사된 결과가 추가되기 때문입니다.

내가 원하는 것은 사용 가능한 섹션을 반복하도록 스크립트를 수정한 다음 L2 셀을 선택하여 버튼을 여러 번 누르면 업데이트된 결과를 기존 결과 위에 붙여넣는 것입니다.

이것은 간단해야 하는데 알아낼 수 없습니다. 또한 원하는 범위의 이름은 "ATPResults"로 지정되었습니다.

Sub Copy_ATP_Tables()

 Dim SectionATP As Long, NextRow As Long

  For SectionATP = 1 To 35 '36

    NextRow = Sheets("Results").Range("L" & Rows.Count).End(xlUp).Row + 1 'Next empty row

    Sheets("Acceptance Test Procedure").Range("APTSec" & SectionATP).Columns("A:H").Copy _
    Destination:=Sheets("Results").Range("L" & NextRow) 'SpecialCells(xlCellTypeVisible)

'        Range("FTPSec" & Section).Columns("G:H").SpecialCells(xlCellTypeVisible).Copy _
'            Destination:=Sheets("Results").Range("N" & NextRow)

  Next SectionATP

'    Sheets("Results").Range("ATPResults").Select
'    For SectionATP = 35 To 35

End Sub

답변1

귀하의 질문을 이해했기를 바랍니다. 항상 시작되도록 수정했습니다 L2.

Sub Copy_ATP_Tables()

 Dim SectionATP As Long, NextRow As Long
 NextRow = Sheets("Results").Range("L" & 2) 'This line defines where to start 

  For SectionATP = 1 To 35 '36

    Sheets("Acceptance Test Procedure").Range("APTSec" & SectionATP).Columns("A:H").Copy _
    Destination:=Sheets("Results").Range("L" & NextRow) 'SpecialCells(xlCellTypeVisible)

    NextRow = Sheets("Results").Range("L" & Rows.Count).End(xlUp).Row + 1 'Moved to the end of the loop

  Next SectionATP
End Sub 

관련 정보