У меня есть рабочий VBA-скрипт для процедуры функциональной проверки рабочего листа (FTP), который будет принимать значения, хранящиеся в 32 именованных диапазонах, и вставлять их в отдельный рабочий лист, Результаты. Когда я пытался использовать этот же сценарий для процедуры приемочного тестирования (ATP), он повторяет результаты с FTP и копирует их под исходные результаты FTP. Я все еще новичок в VBA и не очень разбираюсь в этом, но я понимаю и другие языки программирования. Я не могу понять, почему это не будет работать для ATP, как это было для FTP.
Сценарий проверки функциональности
Sub Copy_Filtered_Sections()
Dim Section As Long, NextRow As Long
For Section = 1 To 32
NextRow = Sheets("Results").Range("A" & Rows.Count).End(xlUp).Row + 1 'Next empty row
Sheets("Function Test Procedure").Select
Range("FTPSec" & Section).Columns("A:H").SpecialCells(xlCellTypeVisible).Copy _
Destination:=Sheets("Results").Range("A" & NextRow)
' Range("FTPSec" & Section).Columns("G:H").SpecialCells(xlCellTypeVisible).Copy _
' Destination:=Sheets("Results").Range("N" & NextRow)
Next Section
End Sub
Сценарий приемочного теста
Sub Copy_ATP_Tables()
Dim SectionATP As Long, NextRow As Long
For SectionATP = 1 To 32
NextRow = Sheets("Results").Range("A" & Rows.Count).End(xlUp).Row + 1 'Next empty row
Sheets("Acceptance Test Procedure").Select
Range("ATPSec" & SectionATP).Columns("A:H").SpecialCells(xlCellTypeVisible).Copy _
Destination:=Sheets("Results").Range("A" & NextRow)
' Range("FTPSec" & Section).Columns("G:H").SpecialCells(xlCellTypeVisible).Copy _
' Destination:=Sheets("Results").Range("N" & NextRow)
Next SectionATP
End Sub
Вторая функция возвращает следующее сообщение об ошибке:
«Ошибка во время выполнения" 1004 ": метод" Range "объекта" _Global "не выполнен» в строке «Range (" ATPSec "& SectionATP).Столбцы ("А: Н").SpecialCells (xlCellTypeVisible).Копировать _ Назначение: = Листы ("Результаты").Диапазон ("A" и NextRow)