-1 / 0 / 0
Регистрация: 17.09.2024
Сообщений: 4
|
|||||||||||
1 | |||||||||||
Всем Ку, и вновь у меня отказывается работать код. (Ошибка runtime error 13 type mismatch)21.10.2024, 22:38. Показов 675. Ответов 16
Метки нет (Все метки)
Оба кода отказываются работать по 13 ерору. В чем у них проблема?
0
|
21.10.2024, 22:38 | |
Ответы с готовыми решениями:
16
Ошибка runtime error 13 - type mismatch Плавающая ошибка - runtime error 13 - type mismatch OpenRecordset и ошибка - несоответствие типа. runtime error(13) Type mismatch Ошибка runtime error 13 - type mismatch при выполнении простого макроса runtime error, type mismatch |
836 / 486 / 186
Регистрация: 09.03.2009
Сообщений: 1,673
|
||||||
21.10.2024, 23:04 | 2 | |||||
Оба кода рабочие. Предполагаю, что вы вводите дробные числа с точкой. А надо с запятой. Типа -0,78 - тогда переменная x получит значение -0.78. При точке оно пишется как строка и при выполнении матем.операций со строкой - ошибка 13.
Если хочется вводить по InputBox с точкой, пишем примерно так:
0
|
4078 / 1458 / 401
Регистрация: 07.08.2013
Сообщений: 3,643
|
|
22.10.2024, 01:47 | 3 |
а тут по первому куску и видно
If k > 2.7 Then q = ((k)^(0.5)) Else q = 11.5*((k)^(2/3))
0
|
Модератор
|
|
22.10.2024, 09:52 | 4 |
в первом коде t должно быть >=0
так как k = Sqr(t) видимо и во 2-м аналогично Добавлено через 18 минут
1
|
3915 / 2314 / 783
Регистрация: 02.11.2012
Сообщений: 6,156
|
|
22.10.2024, 10:00 | 5 |
ну или добавить Replace и не вспоминать при вводе точка или запятая.
1
|
Модератор
|
|
22.10.2024, 10:05 | 6 |
0
|
836 / 486 / 186
Регистрация: 09.03.2009
Сообщений: 1,673
|
|
22.10.2024, 18:11 | 8 |
Разумеется. Но вряд ли этот пример изучается в Новой Зеландии. ))
Вариант с проверкой разделителя (1/3) известен, но опять же, вряд ли у студентов.
0
|
23.10.2024, 13:50 | 10 |
I can, плохая идея — Val обрезает данные и/или не генерирует ошибки преобразования — можно получить совсем не то, что хотели. Выполните ?Val("abc") в Immediate.
Если нужно преобразовать строку в число, то стоит проверить её на IsNumeric() и/или привести к числу, например, с помощью CDbl(). IsNumeric() скажет, как он понимает строку, в соответствии с региональными настройками. По итогам этого, будет замена либо точки на запятую, либо запятой на точку. Либо что-то другое и/или строку нужно чистить перед повторной проверкой.
0
|
23.10.2024, 15:47 | 14 |
?val("1. 23") вернёт 1 (неразрывный пробел)
?val("a1. 23") вернёт 0 Если такие результаты устраивают, то вполне себе способ. Я проверяю значения, введённые пользователем, строже. Особенно, даты.
0
|
snipe
|
23.10.2024, 19:03
#16
|
Не по теме: ууууууу
0
|
help
4396 / 4051 / 807
Регистрация: 13.04.2015
Сообщений: 8,870
|
|
23.10.2024, 19:10 | 17 |
А вдруг ТС из Новой Зеландии, а спейсбар у него печатает неразрывный пробел в середине числа? Добавлено через 10 секунд Да и обрезание ему мешает
0
|
23.10.2024, 19:10 | |
23.10.2024, 19:10 | |
Помогаю со студенческими работами здесь
17
Runtime error 13 - type mismatch - VBA Выдает ошибку runtime error 13 type mismatch Помогите решить проблему. Runtime Error 13 – Type Mismatch. Открытие recordset в Class Module приводит к ошибке "Runtime error 13: type mismatch " Ошибка Run-time Error 13:Type Mismatch Error Ошибка Error 26:Type mismatch Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |