Quando terminar “looping” Selecione a primeira célula no intervalo

1

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 configuração atual é fazer um loop para o número de seções, copiar e colar esses valores na Folha de Resultados e selecionar a próxima célula vazia na coluna L.

Isso funciona muito bem, desde que o botão não seja pressionado várias vezes, porque quando o botão é pressionado várias vezes, ele adicionará os resultados copiados sob os 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 deve ser simples, mas não consigo entender. Além disso, o intervalo desejado foi chamado "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
    
por Gerasimos.Zap 12.10.2015 / 22:07

1 resposta

0

Espero ter entendido sua pergunta. Eu a modifiquei para começar sempre 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 
    
por 13.10.2015 / 13:32