Страницы: 1
RSS
Как исправить ошибку "Type mismatch"?
 
Добрый день, уважаемые пользователи!
Прошу Вашей помощи!
Понимаю, что все должно быть элементарно, но что-то не получается...
У меня на листе "Rank" есть некие результаты расчетов среднего бала студента. Но не у всех он есть и программа, вместо бала, указывает "#ДЕЛ/0!". Мне необходимо скопировать на лист "Zag" только те строки, где есть средний бал.
При запуске макроса выдает ошибку на строке "If Sheets("Rank").Cells(a, 3).Value <> "#ДЕЛ/0!" Then". Я понимаю, что здесь вопрос в типах данных, но как исправить не знаю.
Заранее спасибо за помощь!

Код макроса:
Код
Sub Ñêðóãëåííûéïðÿìîóãîëüíèê2_Ùåë÷îê()
       
Dim a As Integer
For a = 3 To a + 800
   If Sheets("Rank").Cells(a, 3).Value <> "#ДЕЛ/0!" Then
           Sheets("Zag").Cells(a, 2) = Sheets("Rank").Cells(a, 2)
           Sheets("Zag").Cells(a, 3) = Sheets("Rank").Cells(a, 3)
      End If
 Next a
Sheets("Zag").Select
  

End Sub

 
tatamarkova, проблема вот в этом "#ДЕЛ/0!". Если заменить на любое другое значение, например X впишите, то все прекрасно работает. Можете как вариант перед запуском макроса тупо через заменить поменять все #ДЕЛ/0! на любое другое значение и его же использовать в макросе.
дело в том, что вы обращаетесь к ячейке как к значению, а там текст.
Код
If Sheets("Rank").Cells(a, 3).Text <> "#DIV/0!" Then 'вместо Value напишите Text и все заработает
[
 
Цитата
tatamarkova написал: вместо бала, указывает "#ДЕЛ/0!"
Такие вещи (появление ошибок) нужно исключать на стадии расчетов. В Excel есть много функций обработки ошибок, воспользуйтесь ими.
Если все таки условием  отбора в макросе будет являться ошибочное значение, то лучше проверять на ЛЮБУЮ ошибку, а не только на #ДЕЛ/0!
Код
If Not IsError(Sheets("Rank").Cells(a, 3)) Then
 
Согласие есть продукт при полном непротивлении сторон
 
кросс http://www.cyberforum.ru/visual-basic/thread2367089.html
 
tatamarkova, размещаете свой вопрос на нескольких ресурсах - информируйте об этом прямыми ссылками.
 
Цитата
Юрий М написал:
tatamarkova , размещаете свой вопрос на нескольких ресурсах - информируйте об этом прямыми ссылками.
Цитата
Казанский написал:
кросс http://www.cyberforum.ru/visual-basic/thread2367089.html

Просто, когда у тебя срочная проблема, то ищешь любую доступную помощь... Извините, если нарушила правила проекта. Я учту это в будущем!
 
Цитата
Sanja написал:
Если все таки условием  отбора в макросе будет являться ошибочное значение, то лучше проверять на ЛЮБУЮ ошибку, а не только на #ДЕЛ/0!
Цитата
Paul Zealand написал:
дело в том, что вы обращаетесь к ячейке как к значению, а там текст.
ОГРОМНЕЙШЕЕ Вам спасибо! Вы просто спасители! Все работает   :)  
Страницы: 1
Наверх