Я получаю очень странную ошибку, и я потратил часы, пытаясь понять, что это такое, так что, возможно, у кого-то здесь будет идея!
Я использую инструмент для ежедневной обработки некоторых данных, и все работает нормально. Чтобы сэкономить немного времени, я запланировал задачу Windows для автоматического запуска .VBS, которая открывает мой инструмент и запускает код.
Сбой кода в 1-й строке приведенного ниже раздела (метод «Диапазон» объекта «_Worksheet» не выполнен):
With Range("OTBTota")
.FormulaR1C1 = "=R[-1]C/R[10]C"
.Value2 = .Value2
End With
Дело в том, что эта часть кода входит в длинный список диапазонов, в которых я делаю одно и то же (что работает просто отлично), и когда я запускаю ее из Excel напрямую, она работает .... !
Почему этот конкретный диапазон не работает, когда я запускаю этот код из VBS?
Вот еще одна подсказка: если я снова запускаю этот скрипт VB, когда у меня уже есть процесс Excel, работающий в фоновом режиме (например, после того, как я получаю ошибку и закрываю VB Editor), тогда он работает нормально ...!
Может ли это быть из моего VB Script? Вот код:
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
xlApp.Application.Visible = False
Set xlBook = xlApp.Workbooks.Open("C:\Users\User1\TEST.xlsm", 0, False)
xlBook.Application.Run "AUTO_Update_All_A"
xlBook.Save
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
Это действительно не имеет никакого смысла для меня, но мои знания VB довольно ограничены, поэтому я могу упустить что-то очевидное.
Спасибо за вашу помощь!