Автоматизация формулы ИНДЕКС и ПОИСКПОЗ
rtv206
Дата: Понедельник, 22.04.2019, 22:45 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Доброго времени суток уважаемые специалисты! Нуждаюсь в помощи решении проблемы На Лист1 - База с данными На Лист 2 - Форма в которую вносятся данные, после нажатия внести данные заносятся они в ячейки, и на основании внесенных данных формируется данные в следующих ячейках с помощью формулыКод
=ИНДЕКС(Лист1!$A$2:$K$1047650;ПОИСКПОЗ(A2;Лист1!$A$2:$A$1045760;0);4)
Строк в базе може быть до 1 000 000, и замедляется процес вывода результата Как прописать что бы при внесении данных в форму вычислялись результаты на основе выше приведенной формулы
Доброго времени суток уважаемые специалисты! Нуждаюсь в помощи решении проблемы На Лист1 - База с данными На Лист 2 - Форма в которую вносятся данные, после нажатия внести данные заносятся они в ячейки, и на основании внесенных данных формируется данные в следующих ячейках с помощью формулыКод
=ИНДЕКС(Лист1!$A$2:$K$1047650;ПОИСКПОЗ(A2;Лист1!$A$2:$A$1045760;0);4)
Строк в базе може быть до 1 000 000, и замедляется процес вывода результата Как прописать что бы при внесении данных в форму вычислялись результаты на основе выше приведенной формулы rtv206
Сообщение отредактировал rtv206 - Понедельник, 22.04.2019, 22:51
Ответить
Сообщение Доброго времени суток уважаемые специалисты! Нуждаюсь в помощи решении проблемы На Лист1 - База с данными На Лист 2 - Форма в которую вносятся данные, после нажатия внести данные заносятся они в ячейки, и на основании внесенных данных формируется данные в следующих ячейках с помощью формулыКод
=ИНДЕКС(Лист1!$A$2:$K$1047650;ПОИСКПОЗ(A2;Лист1!$A$2:$A$1045760;0);4)
Строк в базе може быть до 1 000 000, и замедляется процес вывода результата Как прописать что бы при внесении данных в форму вычислялись результаты на основе выше приведенной формулы Автор - rtv206 Дата добавления - 22.04.2019 в 22:45
Karataev
Дата: Понедельник, 22.04.2019, 23:05 |
Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация:
533
±
Замечаний:
0% ±
Excel
[vba]
Код
Sub Автоматизация_формы() Dim shSrc As Worksheet, shRes As Worksheet Dim collSrc As New Collection, arrSrc(), arrRes() Dim lr As Long, r As Long, i As Long Set shSrc = Worksheets("Лист1") Set shRes = Worksheets("Лист2") lr = shSrc.Cells(shSrc.Rows.Count, "A").End(xlUp).Row arrSrc() = shSrc.Range("A1:E" & lr).Value For i = 2 To UBound(arrSrc) collSrc.Add item:=i, key:=CStr(arrSrc(i, 1)) Next i lr = shRes.Cells(shRes.Rows.Count, "A").End(xlUp).Row arrRes() = shRes.Range("A2:E" & lr).Value For i = 1 To UBound(arrRes) r = 0 On Error Resume Next r = collSrc(CStr(arrRes(i, 1))) On Error GoTo 0 If r <> 0 Then arrRes(i, 2) = arrSrc(r, 4) arrRes(i, 3) = arrSrc(r, 3) arrRes(i, 4) = arrSrc(r, 5) arrRes(i, 5) = arrSrc(r, 2) End If Next i shRes.Range("A2").Resize(UBound(arrRes, 1), UBound(arrRes, 2)).Value = arrRes() MsgBox "Готово!", vbInformation End Sub
[/vba]
[vba]
Код
Sub Автоматизация_формы() Dim shSrc As Worksheet, shRes As Worksheet Dim collSrc As New Collection, arrSrc(), arrRes() Dim lr As Long, r As Long, i As Long Set shSrc = Worksheets("Лист1") Set shRes = Worksheets("Лист2") lr = shSrc.Cells(shSrc.Rows.Count, "A").End(xlUp).Row arrSrc() = shSrc.Range("A1:E" & lr).Value For i = 2 To UBound(arrSrc) collSrc.Add item:=i, key:=CStr(arrSrc(i, 1)) Next i lr = shRes.Cells(shRes.Rows.Count, "A").End(xlUp).Row arrRes() = shRes.Range("A2:E" & lr).Value For i = 1 To UBound(arrRes) r = 0 On Error Resume Next r = collSrc(CStr(arrRes(i, 1))) On Error GoTo 0 If r <> 0 Then arrRes(i, 2) = arrSrc(r, 4) arrRes(i, 3) = arrSrc(r, 3) arrRes(i, 4) = arrSrc(r, 5) arrRes(i, 5) = arrSrc(r, 2) End If Next i shRes.Range("A2").Resize(UBound(arrRes, 1), UBound(arrRes, 2)).Value = arrRes() MsgBox "Готово!", vbInformation End Sub
[/vba]
Karataev
Ответить
Сообщение
[vba]
Код
Sub Автоматизация_формы() Dim shSrc As Worksheet, shRes As Worksheet Dim collSrc As New Collection, arrSrc(), arrRes() Dim lr As Long, r As Long, i As Long Set shSrc = Worksheets("Лист1") Set shRes = Worksheets("Лист2") lr = shSrc.Cells(shSrc.Rows.Count, "A").End(xlUp).Row arrSrc() = shSrc.Range("A1:E" & lr).Value For i = 2 To UBound(arrSrc) collSrc.Add item:=i, key:=CStr(arrSrc(i, 1)) Next i lr = shRes.Cells(shRes.Rows.Count, "A").End(xlUp).Row arrRes() = shRes.Range("A2:E" & lr).Value For i = 1 To UBound(arrRes) r = 0 On Error Resume Next r = collSrc(CStr(arrRes(i, 1))) On Error GoTo 0 If r <> 0 Then arrRes(i, 2) = arrSrc(r, 4) arrRes(i, 3) = arrSrc(r, 3) arrRes(i, 4) = arrSrc(r, 5) arrRes(i, 5) = arrSrc(r, 2) End If Next i shRes.Range("A2").Resize(UBound(arrRes, 1), UBound(arrRes, 2)).Value = arrRes() MsgBox "Готово!", vbInformation End Sub
[/vba]
Автор - Karataev Дата добавления - 22.04.2019 в 23:05
rtv206
Дата: Вторник, 23.04.2019, 22:17 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Karataev , Спасибо огромное!!! Еще вопросик если меняется размер таблицы на Лист1 и Лист2 что нужно поменять в коде? Если в ячейке число 0 то как прописать чтобы при переносе была пустая ячейка
Karataev , Спасибо огромное!!! Еще вопросик если меняется размер таблицы на Лист1 и Лист2 что нужно поменять в коде? Если в ячейке число 0 то как прописать чтобы при переносе была пустая ячейкаrtv206
Сообщение отредактировал rtv206 - Вторник, 23.04.2019, 22:20
Ответить
Сообщение Karataev , Спасибо огромное!!! Еще вопросик если меняется размер таблицы на Лист1 и Лист2 что нужно поменять в коде? Если в ячейке число 0 то как прописать чтобы при переносе была пустая ячейкаАвтор - rtv206 Дата добавления - 23.04.2019 в 22:17
iwjob
Дата: Среда, 24.04.2019, 11:25 |
Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация:
1
±
Замечаний:
0% ±
Excel 2013
Еще вопросик если меняется размер таблицы на Лист1 и Лист2 что нужно поменять в коде?
Автор предусмотрел это переменной lr, код сам должен понять где последняя строка таблицы. Или вопрос о расширении кол-ва столбцов обработки? Тогда:
[vba]
Код
arrSrc() = shSrc.Range("A1:E" & lr).Value *** arrRes() = shRes.Range("A2:E" & lr).Value заменить на arrSrc() = shSrc.Range("A1:K" & lr).Value *** arrRes() = shRes.Range("A2:K" & lr).Value
[/vba]
Еще вопросик если меняется размер таблицы на Лист1 и Лист2 что нужно поменять в коде?
Автор предусмотрел это переменной lr, код сам должен понять где последняя строка таблицы. Или вопрос о расширении кол-ва столбцов обработки? Тогда:
[vba]
Код
arrSrc() = shSrc.Range("A1:E" & lr).Value *** arrRes() = shRes.Range("A2:E" & lr).Value заменить на arrSrc() = shSrc.Range("A1:K" & lr).Value *** arrRes() = shRes.Range("A2:K" & lr).Value
[/vba]
iwjob
Сообщение отредактировал iwjob - Среда, 24.04.2019, 11:34
Ответить
Сообщение Еще вопросик если меняется размер таблицы на Лист1 и Лист2 что нужно поменять в коде?
Автор предусмотрел это переменной lr, код сам должен понять где последняя строка таблицы. Или вопрос о расширении кол-ва столбцов обработки? Тогда:
[vba]
Код
arrSrc() = shSrc.Range("A1:E" & lr).Value *** arrRes() = shRes.Range("A2:E" & lr).Value заменить на arrSrc() = shSrc.Range("A1:K" & lr).Value *** arrRes() = shRes.Range("A2:K" & lr).Value
[/vba]
Автор - iwjob Дата добавления - 24.04.2019 в 11:25
rtv206
Дата: Суббота, 27.04.2019, 22:47 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
iwjob , спасибо огромное за помощь
iwjob , спасибо огромное за помощьrtv206
Ответить
Сообщение iwjob , спасибо огромное за помощьАвтор - rtv206 Дата добавления - 27.04.2019 в 22:47
rtv206
Дата: Понедельник, 29.04.2019, 19:07 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Ошибка в этой строчке [vba]Код
collSrc.Add Item:=i, Key:=CStr(arrSrc(i, 1))
[/vba]
Ошибка в этой строчке [vba]Код
collSrc.Add Item:=i, Key:=CStr(arrSrc(i, 1))
[/vba] rtv206
Сообщение отредактировал rtv206 - Понедельник, 29.04.2019, 19:08
Ответить
Сообщение Ошибка в этой строчке [vba]Код
collSrc.Add Item:=i, Key:=CStr(arrSrc(i, 1))
[/vba] Автор - rtv206 Дата добавления - 29.04.2019 в 19:07
Karataev
Дата: Понедельник, 29.04.2019, 19:12 |
Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация:
533
±
Замечаний:
0% ±
Excel
На листе 1, в столбце "A" есть повторы значений. Предполагается, что в столбце "A" уникальные данные.
На листе 1, в столбце "A" есть повторы значений. Предполагается, что в столбце "A" уникальные данные. Karataev
Ответить
Сообщение На листе 1, в столбце "A" есть повторы значений. Предполагается, что в столбце "A" уникальные данные. Автор - Karataev Дата добавления - 29.04.2019 в 19:12
rtv206
Дата: Понедельник, 29.04.2019, 19:13 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Karataev , Спасибо
Ответить
Сообщение Karataev , СпасибоАвтор - rtv206 Дата добавления - 29.04.2019 в 19:13
rtv206
Дата: Понедельник, 29.04.2019, 19:14 |
Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Karataev , Если в ячейке число 0 то как прописать чтобы при переносе была пустая ячейка
Karataev , Если в ячейке число 0 то как прописать чтобы при переносе была пустая ячейкаrtv206
Ответить
Сообщение Karataev , Если в ячейке число 0 то как прописать чтобы при переносе была пустая ячейкаАвтор - rtv206 Дата добавления - 29.04.2019 в 19:14
rtv206
Дата: Четверг, 02.05.2019, 20:12 |
Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Уважаемые специалисты подскажите, что нужно поменять в коде что бы поиск происходил не по столбцу, а по строке
Уважаемые специалисты подскажите, что нужно поменять в коде что бы поиск происходил не по столбцу, а по строке rtv206
Ответить
Сообщение Уважаемые специалисты подскажите, что нужно поменять в коде что бы поиск происходил не по столбцу, а по строке Автор - rtv206 Дата добавления - 02.05.2019 в 20:12
Pelena
Дата: Четверг, 02.05.2019, 20:22 |
Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Поиск чего?
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Поиск чего? Автор - Pelena Дата добавления - 02.05.2019 в 20:22
rtv206
Дата: Пятница, 03.05.2019, 07:27 |
Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
В первом сообщение описана проблема, которую Karataev , решил. Но поиск значений происходило по столбцу А. Как сделать что бы поиск происходил, например по 7 строчке(таблица с данными транспонирована)
В первом сообщение описана проблема, которую Karataev , решил. Но поиск значений происходило по столбцу А. Как сделать что бы поиск происходил, например по 7 строчке(таблица с данными транспонирована) rtv206
Ответить
Сообщение В первом сообщение описана проблема, которую Karataev , решил. Но поиск значений происходило по столбцу А. Как сделать что бы поиск происходил, например по 7 строчке(таблица с данными транспонирована) Автор - rtv206 Дата добавления - 03.05.2019 в 07:27
Pelena
Дата: Пятница, 03.05.2019, 09:16 |
Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Пример приложите
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Пример приложите Автор - Pelena Дата добавления - 03.05.2019 в 09:16
rtv206
Дата: Суббота, 04.05.2019, 09:42 |
Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
На Лист1 - База с данными На Лист 2 - Форма в которую вносятся данные
На Лист1 - База с данными На Лист 2 - Форма в которую вносятся данныеrtv206
Сообщение отредактировал rtv206 - Суббота, 04.05.2019, 10:07
Ответить
Сообщение На Лист1 - База с данными На Лист 2 - Форма в которую вносятся данныеАвтор - rtv206 Дата добавления - 04.05.2019 в 09:42
Pelena
Дата: Суббота, 04.05.2019, 10:55 |
Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Если правильно поняла, меняем местами строки и столбцы
Если правильно поняла, меняем местами строки и столбцы Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Если правильно поняла, меняем местами строки и столбцы Автор - Pelena Дата добавления - 04.05.2019 в 10:55
rtv206
Дата: Суббота, 04.05.2019, 13:07 |
Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Если правильно поняла, меняем местами строки и столбцы
Да, все верно, но на Лист2 не заполняются: ФИО, Машина, Пункт назначения, F5. так, как прописано макросом Karataev , в Сообщении 2
Если правильно поняла, меняем местами строки и столбцы
Да, все верно, но на Лист2 не заполняются: ФИО, Машина, Пункт назначения, F5. так, как прописано макросом Karataev , в Сообщении 2rtv206
Ответить
Сообщение Если правильно поняла, меняем местами строки и столбцы
Да, все верно, но на Лист2 не заполняются: ФИО, Машина, Пункт назначения, F5. так, как прописано макросом Karataev , в Сообщении 2Автор - rtv206 Дата добавления - 04.05.2019 в 13:07
Pelena
Дата: Суббота, 04.05.2019, 13:59 |
Сообщение № 17
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Вы макрос запускали? А табельный номер такой, чтобы под ним данные были?
Вы макрос запускали? А табельный номер такой, чтобы под ним данные были? Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Вы макрос запускали? А табельный номер такой, чтобы под ним данные были? Автор - Pelena Дата добавления - 04.05.2019 в 13:59
rtv206
Дата: Суббота, 04.05.2019, 14:10 |
Сообщение № 18
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
А табельный номер такой, чтобы под ним данные были?
Извините пожалуйста, все работает! Табельный номер оказался с пустыми значениями
А табельный номер такой, чтобы под ним данные были?
Извините пожалуйста, все работает! Табельный номер оказался с пустыми значениямиrtv206
Ответить
Сообщение А табельный номер такой, чтобы под ним данные были?
Извините пожалуйста, все работает! Табельный номер оказался с пустыми значениямиАвтор - rtv206 Дата добавления - 04.05.2019 в 14:10
rtv206
Дата: Суббота, 04.05.2019, 14:53 |
Сообщение № 19
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Уважаемая Pelena , ! извините что морочу голову, что нужно поменять в коде что бы он переносил данные с Листа1 на лист 2 Лист с данными (лист1) остается так как в Сообщении1, а лист куда переносятся данные (лист 2) как в Сообщении 16
Уважаемая Pelena , ! извините что морочу голову, что нужно поменять в коде что бы он переносил данные с Листа1 на лист 2 Лист с данными (лист1) остается так как в Сообщении1, а лист куда переносятся данные (лист 2) как в Сообщении 16 rtv206
Сообщение отредактировал rtv206 - Суббота, 04.05.2019, 15:00
Ответить
Сообщение Уважаемая Pelena , ! извините что морочу голову, что нужно поменять в коде что бы он переносил данные с Листа1 на лист 2 Лист с данными (лист1) остается так как в Сообщении1, а лист куда переносятся данные (лист 2) как в Сообщении 16 Автор - rtv206 Дата добавления - 04.05.2019 в 14:53
Pelena
Дата: Суббота, 04.05.2019, 16:19 |
Сообщение № 20
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Что мешает взять первую часть из макроса от Karataev , а вторую из моего?
Что мешает взять первую часть из макроса от Karataev , а вторую из моего? Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Что мешает взять первую часть из макроса от Karataev , а вторую из моего? Автор - Pelena Дата добавления - 04.05.2019 в 16:19