Ошибка несовпадения типов в VBA для таймера обратного отсчета Excel - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь создать простой таймер в Excel, используя код VBA.Тем не менее, я получаю несоответствие типа ошибки во время выполнения в одном из приложений.

В таймер включены кнопки остановки и запуска.Весь код ниже.

В этой строке возникает ошибка:

Sheet1.Range("B1").Value = Sheet1.Range("B1").Value - TimeValue("00:00:01")

Ошибка: вариант несоответствия типов \ строка против варианта \ целое число.

Код - это именно то, что показано на видео на YouTube.В видео это работало просто отлично.

https://www.youtube.com/watch?v=sbJeGG_Xv8M

Вот код для кнопок и процедур.

Может кто-нибудь посоветовать исправление?Я был бы очень благодарен.

Спасибо!

Private Sub CommandButton1_Click()
   starttimer
End Sub

Private Sub CommandButton2_Click()
   stoptimer
End Sub

Sub starttimer()
   Application.OnTime Now + TimeValue("00:00:01"), "nexttick"
End Sub

Sub nexttick()
   Sheet1.Range("B1").Value = Sheet1.Range("B1").Value - TimeValue("00:00:01")
   starttimer
End Sub

Sub stoptimer()
   Application.OnTime Now + TimeValue("00:00:01"), "nexttick", , False
End Sub

1 Ответ

1 голос
/ 24 апреля 2019
Sheet1.Range("B1").Value

Возвращает значение, которое, скорее всего, является строкой.Вам нужно изменить формат ячейки на пользовательский формат в начале видео.

Щелкните по ячейке, нажмите Ctrl + 1 -> Пользовательский формат -> напишите «m: ss»

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