Я пытаюсь сделать следующее. У меня есть несколько таблиц, которые называются «ITT_198763», где часть ITT остается неизменной, но число меняется. У меня также есть одна вкладка, называемая программой, где 6-значный номер импортируется в строке 40 (следовательно, RngToSearch ниже). Мне нужна программа, чтобы 1) найти лист «ITT» для определенного 6-значного числа, 2) определить соответствующую строку на вкладке «Программа» и скопировать информацию со вкладки «ITT» в строку 41 идентифицированного столбца. Я буду копировать дополнительную информацию из листа ITT в указанный столбец, но сейчас я просто пытаюсь заставить его работать один раз.VBA в Excel: Ошибка выполнения 1004
Из MsgBox я знаю, что он идентифицирует правильный номер prjNumber (6-значное число), но я получаю ошибку времени выполнения 1004 в строке Set RngDest. Любая помощь будет оценена!
Sub Summary_Table()
Dim wks As Worksheet
Dim RngToSearch As Range, RngDest As Range
Dim foundColumn As Variant
Dim prjNumber
For Each wks In ActiveWorkbook.Worksheets
If ((Left(wks.Name, 3) = "ITT")) Then
prjNumber = Right(wks.Name, 6)
MsgBox (prjNumber)
Set RngToSearch = Sheets("Program").Range("C40:q40")
foundColumn = Sheets("Program").Application.Match(prjNumber, RngToSearch, False)
With Sheets("Program")
Set RngDest = .Range(1, foundColumn) 'Project Name
End With
If Not IsError(foundColumn) Then
wks.Range("E2").Copy RngDest
End If
End If
Next wks
End Sub
Я попробовал .cell вместо со следующим кодом (все остальное то же самое), и теперь получаю ошибку во время выполнения 13 на линии Set RngDest:
Set RngToSearch = Sheets("Program").Range("C40:q48")
foundColumn = Sheets("Program").Application.Match(prjNumber, RngToSearch.Rows(1), False)
With Sheets("Program")
Set RngDest = RngToSearch.Cells(1, foundColumn) 'Project Name
End With
Здравствуйте, я попробовал новый код, но его все еще не работает, что мне не хватает? – spaindc