Как убрать столбец за указанное c время в VBA - PullRequest
0 голосов
/ 14 апреля 2020
Моя задача - очищать указанный c столбец в указанном c листе каждые один час.

Я написал этот код, но он не работает.

Sub CleanColumn()
   Worksheets("Calculation").Columns(2).ClearContents
   Call test
End Sub
Sub test()
    Application.OnTime Now + TimeValue("01:00:00"), "CleanColumn"
End Sub
Где я ошибаюсь?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

c Я заставил его работать, скопировав ваш код в Module1 в рабочей книге и изменив его на следующее:

Sub test()
    Application.OnTime Now + TimeValue("01:00:o0"), "Module1.CleanColumn"
End Sub

Я считаю, что вам нужно сообщить ему, где находится подпрограмма CleanColumn, так как она в час , вы должны явно определить, какая книга и какая таблица, например:

Workbook("\\f2\folder\wb_time.xlsm").Worksheets("Sheet1").Columns(2).ClearContents
1 голос
/ 14 апреля 2020

код ниже работает.

Public Const ClCol = "CleanColumn"


Sub CleanColumn()
  'Change the range as per your req..
   Sheet1.Range("A1").ClearContents
   Call test
End Sub


Sub test()
'Once you change the below time it will be adjusted accordingly.
    Application.OnTime Now + TimeValue("00:01:00"), ClCol

End Sub

Надеюсь, это поможет ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...