Quando terminar o "loop" Selecione a primeira célula do intervalo

Quando terminar o "loop" Selecione a primeira célula do intervalo

Eu tenho um script que percorre seções em uma planilha (Procedimento de teste de função) e cola esses valores em outra planilha (Resultados) na célula L2.

A forma como está configurado atualmente é fazer um loop para o número de seções, copiar e colar esses valores noFolha de resultadose selecione a próxima célula vazia na coluna L.

Isso funciona perfeitamente, desde que o botão não seja pressionado várias vezes, porque quando o botão é pressionado várias vezes, os resultados copiados serão adicionados aos resultados que já estavam lá.

O que eu quero fazer é modificar o script para percorrer as seções disponíveis e, em seguida, selecionar a célula L2 para colar os resultados atualizados sobre os resultados existentes se o botão for pressionado várias vezes.

Isso deveria ser simples, mas não consigo descobrir. Além disso, o intervalo desejado foi denominado "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

Responder1

Espero ter entendido sua pergunta, modifiquei-a para que sempre comece em 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 

informação relacionada