Страница: 1 |
Страница: 1 |
Вопрос: Cells только для чтения?
Добавлено: 17.12.06 23:02
Автор вопроса: -АлександР- | Web-сайт:
Никак не могу понять причину ошибки:
где nR и nC - переменные типа интеджер.
Type mismatch
хотя конструкции типа:
Case 0.7 To 1.5
В чем проблема? Помогите
Заранее спасибо
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #1
Добавлено: 18.12.06 00:30
____ Может быть стоит скобки убрать вокруг Cells?
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 18.12.06 01:16
или объявить переменную t1 и делать преобразование к объявленному типу...
Номер ответа: 3
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #3
Добавлено: 18.12.06 21:15
t1 выше объявлен как Single
если ты имел в виду это:
то не в этом. Ошибка остается. (ВБ я знаю, чтобы такие ошибки глупые допускать)
Мне думается, здесь проблема в nR, nC и cells, с Rangeм все рулит. Проблема в том, что я не знаю екселевского вба столь тонко...
кто знает в чем дело?
Номер ответа: 4
Автор ответа:
GenyaA
Вопросов: 0
Ответов: 185
Web-сайт:
Профиль | | #4
Добавлено: 18.12.06 21:47
Я только через несколько попыток таки умудрился спровоцировать ошибку в Вашей конструкции только при следующих обстоятельствах:
- t1 - объявленный явно числовой тип данных
- Cells(nR,nC) содержит текст (не число), который Ексел не может сам преобразовать в число (например, только текст или строка из цифр и текстовых и разделительных символов).
Решение может быть в такой конструкции:
Номер ответа: 5
Автор ответа:
GenyaA
Вопросов: 0
Ответов: 185
Web-сайт:
Профиль | | #5
Добавлено: 18.12.06 21:48
ой... забыл, что в коде никаие другие управляющие коды не работают:
Номер ответа: 6
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #6
Добавлено: 18.12.06 22:15
вот вы объясните мне.. по какой фиг крайние скобки ставите??? Вы что, с булевой величиной работаете??
Номер ответа: 7
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #7
Добавлено: 18.12.06 22:21
и еще, как вы можете вызывать свойство Cells без указания какого-либо обекта??? Где ссылка на Range или WorkSheet? Даже если Вы юзаете Cell в конструкции With.. End With, то в любом случае перед ним должна стоять точка!!!
И на сколько я помню, то предпочтительнее использовать свойство Value а не Text ...
Номер ответа: 8
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #8
Добавлено: 18.12.06 22:46
GenyaA, спасибо!
Вот именно, там у меня и оказался текст. (таблица Шевелева. В ней все параметры численные, но некоторые отсутствуют), так вот, те, кот. отсутствуют я записал прочерками. А теперь бегая по ней циклом не мог понять, почему он ругается.
Благодарю!
EROS
а скобки остались от выражения, кот. я удалил,...
Ccылка на Range.Cells??????????????
Гы-Гы
на WorkSheet - согласен, если компилятору так будет быстрее, но разницы я не чувствую.
Номер ответа: 9
Автор ответа:
GenyaA
Вопросов: 0
Ответов: 185
Web-сайт:
Профиль | | #9
Добавлено: 18.12.06 22:47
В исходной конструкции были скобки... я их оставил... Я не имею привычки учить уму-разуму тех, кто ставит задачу и спрашивает помощи... тем более что "лишняя" пара скобок в некоторых случаях предписывает интерпретатору предпринять попытку согласования данных (при передаче аргументов в процедуры и функции это может быть вполне полезным).
А Cells без объекта вполне можно использовать... это не возбраняется, ибо в этом случае (по умолчанию) подразумевается активный лист в активной книге, согласно документации VBA Excel. Может быть такое использование не совсем соответствует строгому стилю оформления кода, но по закону не преследуется и депортации не подлежит.
Номер ответа: 10
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #10
Добавлено: 18.12.06 22:48
____ Естественно, надо использовать преобразование текста в числовой формат с помощью функции Val().
____ А юзать Cells() можно и без объекта, так как по умолчанию — Activesheet.
____ А скобки, конечно, ничего не решают. Можно ещё две-три пары поставить — кому как нравится...
Номер ответа: 11
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #11
Добавлено: 18.12.06 22:54
(лучше CSng)
если написать Val("-", как у меняя, то ошибка выйдет такая же
С уважением, -АлександР-!
Спасибо всем, заглянувшим в этот топик!
Номер ответа: 12
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #12
Добавлено: 19.12.06 13:16
тьфу, блин..я думал эт на нормальном языке.. а это на VBA..(( Тогда разумеется Cells можно и без ссылок юзать..