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