Ошибка времени выполнения «13»: Тип Несоответствие

Я пытаюсь создать лист excel, в котором, когда я выбираю опцию выпадающего списка, появляется окно ввода и запрашивает у пользователя ввод числа. Это необходимо для создания «специалиста по планированию» для игры, в которую я играю. Поэтому я использую код

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Select Case Range("A4") Case "Endurance" Call Module1.GetEndurance Case "Active Regeneration" Call Module2.GetActiveRegen End Select End Sub 

в этой книге и внутри модуля 1 есть

 Sub GetEndurance() Dim QtyEntry As Integer Dim MSG As String Const MinSkill As Integer = 0 Const MaxSkill As Integer = 100 MSG = "Please enter skill level between " & MinSkill & " and " & MaxSkill Do QtyEntry = InputBox(MSG) If IsNumeric(QtyEntry) Then If QtyEntry >= MinSkill And QtyEntry <= MaxSkill Then Exit Do End If MSG = "... Really? I told you the valid options..." MSG = MSG & vbNewLine MSG = MSG & "Please enter skill level between " & MinSkill & " and " & MaxSkill Loop Sheet2.Range("B2").Value = QtyEntry End Sub 

Module2 имеет тот же самый код, за исключением того, что он называется GetActiveRegen() и он переходит к Sheet2.Range("B3").Value = QtyEntry .

Когда я выберу один из этих двух вариантов выпадающего списка, который появляется в окне ввода, и я могу ввести число, оно помещает номер, где он предположим, проблема заключается в том, что он продолжает просить меня ввести число, если я hit cancel Я получаю сообщение об ошибке 13, если я не отвечаю и нажимаю ok, тогда он дает мне сообщение об ошибке 13. Это мой первый раз, когда я занимаюсь программированием в excel VBA, и у меня нет реального опыта программирования, так что это становится очень расстраивающим. Любая помощь будет оценена.

Ошибка отображается в этой строке:

  QtyEntry = InputBox(MSG) 

Вы выбрали неверный тип данных для QtyEntry в объявлении. Выберите строку вместо целого.

 Sub GetEndurance() Dim QtyEntry As String Dim MSG As String Const MinSkill As Integer = 0 Const MaxSkill As Integer = 100 MSG = "Please enter skill level between " & MinSkill & " and " & MaxSkill Do QtyEntry = InputBox(MSG) If QtyEntry = "" Then Exit Do If IsNumeric(QtyEntry) Then If QtyEntry >= MinSkill And QtyEntry <= MaxSkill Then Exit Do End If MSG = "... Really? I told you the valid options..." MSG = MSG & vbNewLine MSG = MSG & "Please enter skill level between " & MinSkill & " and " & MaxSkill Loop Sheet2.Range("B2").Value = QtyEntry End Sub 
  • Excel VBA Vlookup Runtime Ошибка 1004
  • Аргумент VBA не является необязательной ошибкой userfrom listbox
  • Excel / VBA - ошибка времени выполнения 91 возникает только после ввода и выхода из режима разработки
  • Ошибка выполнения «9» при копировании рабочего листа в другую книгу
  • Ошибка 6 с длинной переменной в Excel VBA
  • Ошибка времени VBA 1004: Диапазон (""). Код Formula
  • Sumifs и Error 1004: Определено приложение или Object Defined
  • Excel 2013 - 1004 Ошибка времени выполнения Обновить таблицу запросов
  • Ошибка при обращении к предыдущему dimmed activecell (Ошибка времени выполнения «1004»)
  • Ошибка времени выполнения 91 - Excel vba из Access
  • Код не работает для набора Pivot Data с строками> 65536
  • Interesting Posts

    Как указать вложенную папку в Outlook с помощью Excel VBA

    Как не удается Worksheet_Изменить из Excel VBA, если включен макрос

    Drag & Drop не работает в DataGrid (WPF)

    Функция «И» не проверяет, что оба критерия выполнены

    Используя один макрос на разных таблицах, независимо

    Мои данные имеют вид * _ *. Я хотел бы применить к нему условие условие. IF (A1 = * _ *, 1,0). Не работает. Любой другой способ сделать это?

    Получить значение между скобками

    Импортировать документ excel, отображение в правильном формате

    Почему моя формула показывает ошибку – несогласованная вычисленная формула столбца в MS Excel?

    Замена запятых точками в сценарии Excel

    Числовое форматирование в Excel не работает с EPPlus

    Кодировка символов при экспорте Excel из PHP

    Как обойти уведомления о перспективах при попытке получить информацию о пользователях?

    Ошибка с методом 'ReadAll' объекта 'ITextStream' не удалось

    Создать таблицу как выбрать, где – скомпилировать ошибку, используя текущую базу данных

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