Run-time error '13'; Type mismatch
vasilek7777
Дата: Пятница, 29.06.2018, 20:39 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Добрый вечер! Подскажите пожалуйста в чем проблема, выдает ошибку "Run-time error '13'; Type mismatch" при выполнении строчки [vba]Код
For j = 1 To LastRow1 For Each rRow In outData.UsedRange.Rows If inData.Cells(j, 8) = rRow.Cells(7) Then [color=red]If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then[/color] inData.Cells(j, 10) = rRow.Cells(1) inData.Cells(j, 11) = rRow.Cells(13) inData.Cells(j, 12) = rRow.Cells(14) inData.Cells(j, 13) = rRow.Cells(3) inData.Cells(j, 14) = rRow.Cells(5)
[/vba] До этого все было хорошо, сделала новую выгрузку, поля те же, типы те же. Пробовала приводить к одному типу, безуспешно.
Добрый вечер! Подскажите пожалуйста в чем проблема, выдает ошибку "Run-time error '13'; Type mismatch" при выполнении строчки [vba]Код
For j = 1 To LastRow1 For Each rRow In outData.UsedRange.Rows If inData.Cells(j, 8) = rRow.Cells(7) Then [color=red]If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then[/color] inData.Cells(j, 10) = rRow.Cells(1) inData.Cells(j, 11) = rRow.Cells(13) inData.Cells(j, 12) = rRow.Cells(14) inData.Cells(j, 13) = rRow.Cells(3) inData.Cells(j, 14) = rRow.Cells(5)
[/vba] До этого все было хорошо, сделала новую выгрузку, поля те же, типы те же. Пробовала приводить к одному типу, безуспешно. vasilek7777
Ответить
Сообщение Добрый вечер! Подскажите пожалуйста в чем проблема, выдает ошибку "Run-time error '13'; Type mismatch" при выполнении строчки [vba]Код
For j = 1 To LastRow1 For Each rRow In outData.UsedRange.Rows If inData.Cells(j, 8) = rRow.Cells(7) Then [color=red]If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then[/color] inData.Cells(j, 10) = rRow.Cells(1) inData.Cells(j, 11) = rRow.Cells(13) inData.Cells(j, 12) = rRow.Cells(14) inData.Cells(j, 13) = rRow.Cells(3) inData.Cells(j, 14) = rRow.Cells(5)
[/vba] До этого все было хорошо, сделала новую выгрузку, поля те же, типы те же. Пробовала приводить к одному типу, безуспешно. Автор - vasilek7777 Дата добавления - 29.06.2018 в 20:39
_Boroda_
Дата: Пятница, 29.06.2018, 20:54 |
Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
1. Прочитайте Правила форума 2. Оформите код тегами - в режиме правки поста выделите код и нажмите кнопку # на панельке чуть выше 3. Приложите пример файла с полным кодом макроса 4. Вы точно уверены, что?
1. Прочитайте Правила форума 2. Оформите код тегами - в режиме правки поста выделите код и нажмите кнопку # на панельке чуть выше 3. Приложите пример файла с полным кодом макроса 4. Вы точно уверены, что? _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение 1. Прочитайте Правила форума 2. Оформите код тегами - в режиме правки поста выделите код и нажмите кнопку # на панельке чуть выше 3. Приложите пример файла с полным кодом макроса 4. Вы точно уверены, что? Автор - _Boroda_ Дата добавления - 29.06.2018 в 20:54
vasilek7777
Дата: Пятница, 29.06.2018, 22:40 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Спасибо! Да, уверена, единственное, выгрузка новая, но запрос тот же(т.е. типы полей выгрузиться должны были без изменений)( [vba]Код
Option Explicit Sub K_insert_Z() Dim outData As Worksheet Dim inData As Worksheet Dim rRow As Range Dim iRow& Dim j As Integer Windows("may_Za.xlsm").Activate Dim LastRow1 As Integer 'table borders KS LastRow1 = Worksheets("Part1").Cells(Rows.Count, 1).End(xlUp).Row 'download KS Set outData = Workbooks("may_KS.xlsx").Worksheets("export-12") 'insert KS in Za Set inData = Workbooks("may_Za.xlsm").Worksheets("Part1") 'first row in the sheet iRow = 2 'Dim FormulaCells As Range, ContentCells As Range 'Dim cells As Rangege For j = 1 To LastRow1 For Each rRow In outData.UsedRange.Rows If inData.Cells(j, 8) = rRow.Cells(7) Then If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then inData.Cells(j, 10) = rRow.Cells(1) inData.Cells(j, 11) = rRow.Cells(13) inData.Cells(j, 12) = rRow.Cells(14) inData.Cells(j, 13) = rRow.Cells(3) inData.Cells(j, 14) = rRow.Cells(5) 'inData.cells(j, 14).Interrior.Color End If End If iRow = iRow + 1 Next rRow Next j End Sub
[/vba]
Спасибо! Да, уверена, единственное, выгрузка новая, но запрос тот же(т.е. типы полей выгрузиться должны были без изменений)( [vba]Код
Option Explicit Sub K_insert_Z() Dim outData As Worksheet Dim inData As Worksheet Dim rRow As Range Dim iRow& Dim j As Integer Windows("may_Za.xlsm").Activate Dim LastRow1 As Integer 'table borders KS LastRow1 = Worksheets("Part1").Cells(Rows.Count, 1).End(xlUp).Row 'download KS Set outData = Workbooks("may_KS.xlsx").Worksheets("export-12") 'insert KS in Za Set inData = Workbooks("may_Za.xlsm").Worksheets("Part1") 'first row in the sheet iRow = 2 'Dim FormulaCells As Range, ContentCells As Range 'Dim cells As Rangege For j = 1 To LastRow1 For Each rRow In outData.UsedRange.Rows If inData.Cells(j, 8) = rRow.Cells(7) Then If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then inData.Cells(j, 10) = rRow.Cells(1) inData.Cells(j, 11) = rRow.Cells(13) inData.Cells(j, 12) = rRow.Cells(14) inData.Cells(j, 13) = rRow.Cells(3) inData.Cells(j, 14) = rRow.Cells(5) 'inData.cells(j, 14).Interrior.Color End If End If iRow = iRow + 1 Next rRow Next j End Sub
[/vba] vasilek7777
Ответить
Сообщение Спасибо! Да, уверена, единственное, выгрузка новая, но запрос тот же(т.е. типы полей выгрузиться должны были без изменений)( [vba]Код
Option Explicit Sub K_insert_Z() Dim outData As Worksheet Dim inData As Worksheet Dim rRow As Range Dim iRow& Dim j As Integer Windows("may_Za.xlsm").Activate Dim LastRow1 As Integer 'table borders KS LastRow1 = Worksheets("Part1").Cells(Rows.Count, 1).End(xlUp).Row 'download KS Set outData = Workbooks("may_KS.xlsx").Worksheets("export-12") 'insert KS in Za Set inData = Workbooks("may_Za.xlsm").Worksheets("Part1") 'first row in the sheet iRow = 2 'Dim FormulaCells As Range, ContentCells As Range 'Dim cells As Rangege For j = 1 To LastRow1 For Each rRow In outData.UsedRange.Rows If inData.Cells(j, 8) = rRow.Cells(7) Then If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then inData.Cells(j, 10) = rRow.Cells(1) inData.Cells(j, 11) = rRow.Cells(13) inData.Cells(j, 12) = rRow.Cells(14) inData.Cells(j, 13) = rRow.Cells(3) inData.Cells(j, 14) = rRow.Cells(5) 'inData.cells(j, 14).Interrior.Color End If End If iRow = iRow + 1 Next rRow Next j End Sub
[/vba] Автор - vasilek7777 Дата добавления - 29.06.2018 в 22:40
Pelena
Дата: Пятница, 29.06.2018, 23:11 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация:
4420
±
Замечаний:
±
Excel 365 & Mac Excel
[vba]Код
If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then
[/vba]Это условие неверно записано. Попробуйте так [vba]Код
If inData.Cells(j, 2) < rRow.Cells(3) And rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then
[/vba]
[vba]Код
If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then
[/vba]Это условие неверно записано. Попробуйте так [vba]Код
If inData.Cells(j, 2) < rRow.Cells(3) And rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then
[/vba] Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение [vba]Код
If inData.Cells(j, 2) < rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then
[/vba]Это условие неверно записано. Попробуйте так [vba]Код
If inData.Cells(j, 2) < rRow.Cells(3) And rRow.Cells(3) < inData.Cells(j, 2) + Minute("00:40:00") Then
[/vba] Автор - Pelena Дата добавления - 29.06.2018 в 23:11
_Boroda_
Дата: Суббота, 30.06.2018, 03:18 |
Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Это условие неверно записано
Я именно про это и намекал первый кусок [vba]Код
inData.Cells(j, 2) < rRow.Cells(3)
[/vba]дает True или False, а потом Вы полученное пытаетесь сравнить с каким-то значением (минутами)
Это условие неверно записано
Я именно про это и намекал первый кусок [vba]Код
inData.Cells(j, 2) < rRow.Cells(3)
[/vba]дает True или False, а потом Вы полученное пытаетесь сравнить с каким-то значением (минутами)_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Это условие неверно записано
Я именно про это и намекал первый кусок [vba]Код
inData.Cells(j, 2) < rRow.Cells(3)
[/vba]дает True или False, а потом Вы полученное пытаетесь сравнить с каким-то значением (минутами)Автор - _Boroda_ Дата добавления - 30.06.2018 в 03:18
vasilek7777
Дата: Суббота, 30.06.2018, 22:09 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Да нет, все работало именно так. Исправила, как Вы мне предложили, но проблема осталась. Сейчас пробую формат ячеек в самих файлах менять%).
Да нет, все работало именно так. Исправила, как Вы мне предложили, но проблема осталась. Сейчас пробую формат ячеек в самих файлах менять%). vasilek7777
Ответить
Сообщение Да нет, все работало именно так. Исправила, как Вы мне предложили, но проблема осталась. Сейчас пробую формат ячеек в самих файлах менять%). Автор - vasilek7777 Дата добавления - 30.06.2018 в 22:09
Pelena
Дата: Суббота, 30.06.2018, 22:22 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация:
4420
±
Замечаний:
±
Excel 365 & Mac Excel
Тогда прикладывайте пример с данными
Тогда прикладывайте пример с данными Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Тогда прикладывайте пример с данными Автор - Pelena Дата добавления - 30.06.2018 в 22:22
vasilek7777
Дата: Суббота, 30.06.2018, 22:42 |
Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Вот в чем проблема, мне кажется, я сравниваю два столбца, в первом значение="01.06.2018 00:12" во втором значение="43280,18488" Выделяю второй столбец, преобразовываю в формат, как в первом столбце, но все равно ему не нравится. Может есть функция, преобразования. Date() не помогает, Format() тоже. Может эта комбинация чисел, это особенность excel? Добавила 2 файла с проблемой.
Вот в чем проблема, мне кажется, я сравниваю два столбца, в первом значение="01.06.2018 00:12" во втором значение="43280,18488" Выделяю второй столбец, преобразовываю в формат, как в первом столбце, но все равно ему не нравится. Может есть функция, преобразования. Date() не помогает, Format() тоже. Может эта комбинация чисел, это особенность excel? Добавила 2 файла с проблемой. vasilek7777
Сообщение отредактировал vasilek7777 - Воскресенье, 01.07.2018, 00:02
Ответить
Сообщение Вот в чем проблема, мне кажется, я сравниваю два столбца, в первом значение="01.06.2018 00:12" во втором значение="43280,18488" Выделяю второй столбец, преобразовываю в формат, как в первом столбце, но все равно ему не нравится. Может есть функция, преобразования. Date() не помогает, Format() тоже. Может эта комбинация чисел, это особенность excel? Добавила 2 файла с проблемой. Автор - vasilek7777 Дата добавления - 30.06.2018 в 22:42
krosav4ig
Дата: Воскресенье, 01.07.2018, 03:10 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
как-то так[vba]Код
If CDate(inData.Cells(j, 2)) < CDate(rRow.Cells(3)) And CDate(rRow.Cells(3)) < CDate(inData.Cells(j, 2)) + TimeSerial(0, 40, 0) Then
[/vba]
как-то так[vba]Код
If CDate(inData.Cells(j, 2)) < CDate(rRow.Cells(3)) And CDate(rRow.Cells(3)) < CDate(inData.Cells(j, 2)) + TimeSerial(0, 40, 0) Then
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение как-то так[vba]Код
If CDate(inData.Cells(j, 2)) < CDate(rRow.Cells(3)) And CDate(rRow.Cells(3)) < CDate(inData.Cells(j, 2)) + TimeSerial(0, 40, 0) Then
[/vba] Автор - krosav4ig Дата добавления - 01.07.2018 в 03:10
vasilek7777
Дата: Воскресенье, 01.07.2018, 09:25 |
Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
krosav4ig, спасибо Вам большое, помогло!!! Всем спасибо за участие!
krosav4ig, спасибо Вам большое, помогло!!! Всем спасибо за участие! vasilek7777
Ответить
Сообщение krosav4ig, спасибо Вам большое, помогло!!! Всем спасибо за участие! Автор - vasilek7777 Дата добавления - 01.07.2018 в 09:25