Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
5 / 5 / 1
Регистрация: 12.06.2012
Сообщений: 60

Type mismatch

13.03.2015, 16:41. Показов 2999. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Помогите, пожалуйста. У меня есть следующий макрос:

Visual Basic
1
2
3
4
5
6
7
8
9
tempUkn = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
 
For k = 2 To tempUkn
    If IsEmpty(Sheets("Current HR base").Cells(k, 56)) Then
        If Sheets("Current HR base").Cells(k, 64) <> 0 And Sheets("Current HR base").Cells(k, 64) <> "#N/a" Then
             Sheets("Current HR base").Cells(k, 56) = "Primary " & Sheets("Current HR base").Cells(k, 64)
        End If
    End If
Next k
Показывает ошибку на следующее условие.

Visual Basic
1
2
3
If Sheets("Current HR base").Cells(k, 64) <> 0 And Sheets("Current HR base").Cells(k, 64) <> "#N/a" Then
      Sheets("Current HR base").Cells(k, 56) = "Primary " & Sheets("Current HR base").Cells(k, 64)
End If
Я пробовала посмотреть оба условия в отедельности, на обе части ошибка типов. Пробовала прописывать следующее:

Visual Basic
1
2
 CInt(Sheets("Current HR base").Cells(k, 64)) <> 0
 Val(Sheets("Current HR base").Cells(k, 64)) <> 0
Но ничего не помогает.

В стоблце 64 у меня результаты от vlookup. Я вставила там значения (то есть формулы убрала). Исключая 0 и #N/a, там текст.

Подскажите как мне правильно прописать условие, или нужно будет поменять тип у всего столбца?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2015, 16:41
Ответы с готовыми решениями:

Не вызывается функция (Type mismatch: array or user-defined type expected)
Помогите Option Explicit Dim X() As Double Dim Y() As Double Sub Кнопка1_Щелчок() Dim i As Integer Dim a As Double Dim n As...

Type Mismatch
Доброго времени суток, здравствуйте. У меня возникла определённая проблема, которую не не совсем понятно как решить. Макрос работает...

Type mismatch
Есть программа учётов товара,при вычислении суммы товаров на продажу выдаёт ошибку type mismatch Часть кода Private Sub...

5
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
13.03.2015, 16:46
Ошибка скорее всего на "#N/a" - вряд ли там вот именно такая строка.
Проверяйте на CVErr(xlErrNA)
1
5 / 5 / 1
Регистрация: 12.06.2012
Сообщений: 60
17.03.2015, 15:30  [ТС]
Та же ошибка, к сожалению. Но разве Excel считает что это ошибка, если там просто значение и не формула?

Visual Basic
1
2
3
4
5
For k = 2 To tempUkn
    If Sheets("Current HR base").Cells(k, 64).Value <> CVErr(xlErrNA) Then
        Sheets("Current HR base").Cells(k, 56) = "Primary " & Sheets("Current HR base").Cells(k, 64)
    End If
Next k
Добавлено через 6 минут
Проверила, строка

Visual Basic
1
Sheets("Current HR base").Cells(k, 64).Value
возращает Error 2042
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
17.03.2015, 15:33
Значение ошибки нельзя сравнивать как обычные значения, поэтому проверка на ошибку должна быть сначала:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
tempUkn = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
 
With Sheets("Current HR base") 'меньше писанины
  For k = 2 To tempUkn
    If IsEmpty(.Cells(k, 56)) Then
      If Not IsError(.Cells(k, 64)) Then
        If .Cells(k, 64) <> 0 Then .Cells(k, 56) = "Primary " & .Cells(k, 64)
      End If
    End If
  Next k
End With
1
5 / 5 / 1
Регистрация: 12.06.2012
Сообщений: 60
17.03.2015, 15:40  [ТС]
Спасибо, работает. Про ошибки учту.
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
17.03.2015, 16:00
Работает

Visual Basic
1
2
3
    If IsError([a1]) Then
        If [a1] = CVErr(xlErrNA) Then MsgBox "#N/A" Else MsgBox "Другая ошибка"
    End If
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.03.2015, 16:00
Помогаю со студенческими работами здесь

Type mismatch
Добрый день, столкнулся с проблемой: на моем компьютере макрос отрабатывает, но на компьютере соседа макрос выдаёт ошибку type mismatch. Не...

Ошибка 13 type mismatch
Помогите пожалуйста разаобаться с ошибкой в коде.Буду признателен. Ошибка 13 type mismath Public Sub zapsuk() Dim i...

Ошибка 13 type mismatch
Добрый день. Помогите пожалуйста с вложенными циклами. Код должен проверять значения ячеек и выводить ошибку,если условие не...

Почему type mismatch?
Есть у меня форма gameForm, и есть на ней 9 кнопок, при клике на которые выполняются одинаковые действия, соответственно вынесенные в...

Ошибка 13:Type mismatch
Ошибка 13:Type mismatch Здравствуйте,если не сложно посмотрите и скажите,что же я делаю не так?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru