Ошибка Excel VBA 438 «Объект не поддерживает это свойство или метод»

Хорошо, поэтому я определенно новичок в VBA, но я учусь. Насколько я могу судить, нет причин, по которым мой код не должен работать нормально, и в прошлом. Однако эта ошибка продолжает появляться. Я намерен сделать листок, который автоматически обновляет другие листы, когда вы добавляете человека на основной лист. Код, похоже, работает и имеет, но он внезапно бросает эту ошибку, и я не могу понять, почему. Я огляделся, но ни одно из решений, похоже, не имеет отношения к моей проблеме. Любая помощь при выяснении, где именно ошибка, была бы очень признательна!

Ниже приведен пример, в котором отладчик говорит, что ошибка:

Private Sub Worksheet_Activate() ThisWorkbook.UpdateSheets (Week2) End sub 

И эта функция называется:

 Public Function UpdateSheets(ByRef w As Worksheet) HowManyPeople With w .Columns("A:W").HorizontalAlignment = xlCenter Dim i As Integer Dim j As Integer For i = 1 To x If IsEmpty(.Cells(i, 2)) Then For j = 2 To 12 .Cells(i + 4, j).Borders.LineStyle = xlContinuous If j <> 12 Then .Cells(i + 4, j).Interior.ColorIndex = 2 .Cells(i + 4, j).Locked = False Else .Cells(i + 4, j).Interior.ColorIndex = 15 .Cells(i + 4, j).Locked = True End If If j = 2 Then .Cells(i + 4, j).Value = Week1.Cells(i + 4, j) Else .Cells(i + 4, j).Value = "0" End If Next j End If Next i i = x + 5 Do For j = 2 To 12 .Cells(i, j).Borders.LineStyle = xlNone .Cells(i, j).Interior.ColorIndex = 2 .Cells(i, j).Locked = True .Cells(i, j).Value = "" Next j i = i + 1 Loop Until IsEmpty(.Cells(i, j)) End With End Function 

функция HowManyPeople является базовым методом подсчета строк. x – это переменная переменной общедоступной рабочей книги, указанная в методе HowManyPeople. Week1 и Week2 – это технические названия (не отображаемое имя) рабочих листов

Решение

В суб, измените это:
ThisWorkbook.UpdateSheets (Week2)
к этому
Call UpdateSheets(ThisWorkbook.Worksheets("Week2"))

Объяснение проблемы

См. Аналогичный вопрос о SO
Нет UpdateSheets объекта ThisWorkbook .

Interesting Posts

Получать данные с веб-страницы с помощью VBA

VBA .Find, даты, даты серийного номера и свойства типа данных (.Text, .Value, .Value2)

чтение excel на стороне сервера

Функция Excel для повторного набора ячеек на определенное количество раз в зависимости от значения ячейки

Добавление строки с скопированными формулами, которые включают вновь названный лист

Код отлично работает в файле .vbs, но не в скрипте UFT – Ошибка 429

VBA, чтобы выбрать каждый элемент слайзера И сохранить каждый выбранный элемент слайсера в формате pdf?

блокировка в столбце vlookup

Текстовое поле Excel Vba Userform, добавляющее разрывы строк html </ b> <p> ect

Переход от планировщика задач в XP к Windows7

Макрос для копирования диаграммы Внешний вид диаграммы Excel-Word

как исправить файл excel импорта в php

UDF для возврата отформатированного номера

должен захватывать свойства документа для слов, документов excel и powerpoint

Ярлыки с цветными ячейками для сопоставления текста в другом столбце

Давайте будем гением компьютера.