0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
1

Run-Time Error "13". Type mismatch

15.06.2015, 13:19. Показов 2608. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! Писал макрос на перенесение данных из таблиц в сводный лист, и, вроде бы, всё шло как надо, но при компиляции вылазит ошибка, которая указана в теме. Вот код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub CommandButton1_Click()
Dim TargetRow As Long
Dim TargetColumn As Integer
Dim FoundNomer As Range
Dim FoundOkno As Range
Dim FoundOknoRow As Long
 
  TargetRow = ActiveCell.Row            'строка активной ячейки
  TargetColumn = ActiveCell.Column      'столбец астивной ячейки
    With Sheets("Свод")                 'надо перенести содержимое активной ячейки на лист Свод
      'ищем в столбце А строку с 8602/имя листа
      Set FoundNomer = .Columns(1).Find("8602/" & ActiveSheet.Name, , xlValues, xlWhole)
      'ищем окно № на листе Свод, соответствующее окну активной ячейки
      Set FoundOkno = .Columns(1).Find(What:=Cells(ActiveCell.Row, 1), After:=FoundNomer, LookIn:=xlValues, _
                                        LookAt:=xlWhole, SearchDirection:=xlPrevious)
      FoundOknoRow = FoundOkno.Row
      .Cells(FoundOknoRow, TargetColumn) = ActiveCell
    End With
End Sub
Выделяется вот эта строка:
Visual Basic
1
2
 Set FoundOkno = .Columns(1).Find(What:=Cells(ActiveCell.Row, 1), After:=FoundNomer, LookIn:=xlValues, _
                                        LookAt:=xlWhole, SearchDirection:=xlPrevious)
Кто может помочь?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2015, 13:19
Ответы с готовыми решениями:

Run-time error 13 type mismatch
Всем привет)Имеется макрос и это один из модулей,в нем происходит ошибка когда выводится печатная...

Run-time error '13' type mismatch
приветствую! простенькая проверка большой таблицы на пустые строки, нули и не числа с удалением...

Ошибка в макросе run-time error '13' type mismatch
Выдаётся ошибка при запуске макроса Sub fonts() Dim obj As Font, i As Integer i = 1 If...

Ошибка run-time error 13 type mismatch в макросе
Подскажите пожалуйста, как исправить ошибку run-time error 13 type mismatch. При нажатии на любую...

15
призрак
3263 / 891 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
15.06.2015, 13:27 2
отладчик
0
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
15.06.2015, 13:35  [ТС] 3
Эм-м..я спросил: "кто", а не "что"...
0
призрак
3263 / 891 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
15.06.2015, 13:44 4
логично.

поправка: человек, который имеет на своем компьютере Ваш файл с данными и кодом и у которого есть немножко мозгов, чтобы воспользоваться отладчиком.
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
15.06.2015, 13:46 5
Gustavo, возможно, FoundNomer = Nothing, если не найдено заданное значение - в коде нет проверки на это.
Пройдите программу по шагам (F8), наблюдая за переменными в окне Locals.
Если хотите получить помощь - выкладывайте файл xls.
0
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
15.06.2015, 14:00  [ТС] 6
архив
0
призрак
3263 / 891 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
15.06.2015, 14:01 7
на архивы - предел 10 Мб.
0
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
15.06.2015, 14:04  [ТС] 8
Кассовые аппараты ПР(полная).rar
Вот архив
0
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
15.06.2015, 14:09  [ТС] 9
Задание заключается в следующем: Разбить сводный лист на несколько таблиц, и если ввести например в листе "0001", т.е. в компании первой, символы, то они автоматически введутся на сводном листе. Можно по кнопке, можно без. Пока что решил без неё, но потом пропишу код для кнопки(точнее скопирую из уже своего готового).
0
3919 / 2316 / 785
Регистрация: 02.11.2012
Сообщений: 6,159
15.06.2015, 14:27 10
Find не ищет в скрытых ячейках.
0
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
15.06.2015, 14:32  [ТС] 11
а какой тогда использовать?
0
3919 / 2316 / 785
Регистрация: 02.11.2012
Сообщений: 6,159
15.06.2015, 14:43 12
по ка что не до конца понял суть задания. Как вариант в начале поиска раскрыть группы
Visual Basic
1
Sheets("Свод").Outline.ShowLevels RowLevels:=2
и в конце если нужно скрыть обратно.
0
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,723
15.06.2015, 14:59 13
Насколько помню файл недельной давности - там названия фирм/магазинов не скрывались группировкой.
0
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
15.06.2015, 15:01  [ТС] 14
Спасибо, так а что мне делать с тем, из-за чего я сюда обратился?
0
Заблокирован
15.06.2015, 15:22 15
Лучший ответ Сообщение было отмечено Gustavo как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub PerenosTarger()
Dim TargetRow As Long, TargetColumn As Long, FoundNomer As Range, FoundOkno As Range, FoundOknoRow As Long
TargetRow = ActiveCell.Row
TargetColumn = ActiveCell.Column
Worksheets("0001").Activate
With Sheets("Свод")
    Set FoundNomer = .Columns(1).Find("8602/" & ActiveSheet.Name, , xlValues, xlPart)
    .Activate
    Set FoundOkno = .Columns(1).Find(What:=Cells(ActiveCell.Row, 1), After:=FoundNomer, LookIn:=xlValues, _
            LookAt:=xlWhole, SearchDirection:=xlPrevious)
    FoundOknoRow = FoundOkno.Row
    .Cells(FoundOknoRow, TargetColumn) = ActiveCell
End With
End Sub
0
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
15.06.2015, 15:38  [ТС] 16
Кащенко, спасибо за устранение ошибок, но теперь не работает перенос из листа в сводный лист.
0
15.06.2015, 15:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2015, 15:38
Помогаю со студенческими работами здесь

Плавущую ошибка: Run time error 13 - type mismatch
Таблица и сам код уже выполнен, ругается на такую ошибку, проверку данных не может пройти....

При сравнении объектов выводит run time error 13 type mismatch
Как избавиться от ошибки? alf = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" For i = 0 To Len(alf) If...

Ошибка при запуске программы "run time error 13 type mismatch"
сама задача: Определить количество элементов массива, принадлежащих промежутку отa до b (значения...

Как победить плавающую ошибку, возникающую на "словаре" в VBA. Run-time error '13': Type mismatch
В продолжении Расширение стандартного поиска. Как искать списки слов в Excel? Описание задачи. ...

При нажатии на кнопку запуска формы vba появляется ошибка Run-time error 13 mismatch
если из папки misc убрать файл эксес, то форма будет открываться, но в нее ничего нельзя будет...

Error 13 Type mismatch
Здравствуйте. В коде возникает ошибка Type mismatch, в строке SkladOpListRow.Range(7) =...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru