Acredito que a questão é que a pasta de trabalho nomeou intervalos para FTP, mas não para ATP. No código Procedimento do Teste de Função, na primeira iteração, a linha análoga
Range("FTPSec" & Section).Columns("A:H").SpecialCells(xlCellTypeVisible).Copy _
Destination:=Sheets("Results").Range("A" & NextRow)
chama as células visíveis nas colunas A a H do intervalo nomeado FTPSec1
. Presumivelmente, há intervalos nomeados FTPSec1
, FTPSec2
, ..., FTPSec32
em sua pasta de trabalho.
No código Procedimento do Teste de Aceitação, imitando a sintaxe aqui, você assumiu que os intervalos nomeados ATPSec1
, ATPSec2
, ..., ATPSec32
estão definidos na pasta de trabalho. Se não estiverem, seu código lançará um erro porque o Excel não sabe a que Range("ATPSec1")
está se referindo.
Para verificar se esse é o problema, abra o Gerenciador de nomes no Excel pressionando Ctrl + F3 . Aqui você verá todos os intervalos nomeados na pasta de trabalho. Eu suspeito que você verá os intervalos de FTP, mas não os intervalos de ATP.
Para resolver esse problema, você deve seguir um destes procedimentos:
-
Defina intervalos
ATPSec1
,ATPSec2
, ...,ATPSec32
em sua pasta de trabalho. Faça isso criando novos intervalos nomeados através do Name Manager; ou -
Altere seu código para o ATP para que o VBA identifique os intervalos relevantes, presumivelmente usando os mesmos critérios que você usaria para definir os intervalos em primeiro lugar.