сравнение двух списков
GGR
Дата: Суббота, 30.04.2022, 17:30 |
Сообщение № 1
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация:
0
±
Замечаний:
40% ±
Excel 2007
Добрый вечер уважаемые форумчане. Помогите пожалуйста поправить код макроса. Не помню кто автор макроса,взяла его на форуме. Мне надо , чтобы поcле запуcка макроса формировались данные из столбцов AB и EF. ( лист как должно быть во вложении.)В данном макросе формируются данные из столбцов A и E.Сама в макросах не сильна.
Добрый вечер уважаемые форумчане. Помогите пожалуйста поправить код макроса. Не помню кто автор макроса,взяла его на форуме. Мне надо , чтобы поcле запуcка макроса формировались данные из столбцов AB и EF. ( лист как должно быть во вложении.)В данном макросе формируются данные из столбцов A и E.Сама в макросах не сильна. GGR
К сообщению приложен файл:
___.xlsm
(26.5 Kb)
Ответить
Сообщение Добрый вечер уважаемые форумчане. Помогите пожалуйста поправить код макроса. Не помню кто автор макроса,взяла его на форуме. Мне надо , чтобы поcле запуcка макроса формировались данные из столбцов AB и EF. ( лист как должно быть во вложении.)В данном макросе формируются данные из столбцов A и E.Сама в макросах не сильна. Автор - GGR Дата добавления - 30.04.2022 в 17:30
DrMini
Дата: Воскресенье, 01.05.2022, 10:14 |
Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1641
Репутация:
207
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
чтобы поcле запуcка макроса формировались данные из столбцов AB и EF
Я в макросах тоже ноль но попробовал методом "научного тыка" и вроде работает. было: [vba]Код
arr = Range("A2:B" & Cells(Rows.Count, 1).End(xlUp).Row).Value arr = Range("E2:F" & Cells(Rows.Count, 5).End(xlUp).Row).Value
[/vba] изменил на: [vba]Код
arr = Range("AB2:AC" & Cells(Rows.Count, 1).End(xlUp).Row).Value arr = Range("AF2:AG" & Cells(Rows.Count, 5).End(xlUp).Row).Value
[/vba] А вдруг?!
чтобы поcле запуcка макроса формировались данные из столбцов AB и EF
Я в макросах тоже ноль но попробовал методом "научного тыка" и вроде работает. было: [vba]Код
arr = Range("A2:B" & Cells(Rows.Count, 1).End(xlUp).Row).Value arr = Range("E2:F" & Cells(Rows.Count, 5).End(xlUp).Row).Value
[/vba] изменил на: [vba]Код
arr = Range("AB2:AC" & Cells(Rows.Count, 1).End(xlUp).Row).Value arr = Range("AF2:AG" & Cells(Rows.Count, 5).End(xlUp).Row).Value
[/vba] А вдруг?! DrMini
Ответить
Сообщение чтобы поcле запуcка макроса формировались данные из столбцов AB и EF
Я в макросах тоже ноль но попробовал методом "научного тыка" и вроде работает. было: [vba]Код
arr = Range("A2:B" & Cells(Rows.Count, 1).End(xlUp).Row).Value arr = Range("E2:F" & Cells(Rows.Count, 5).End(xlUp).Row).Value
[/vba] изменил на: [vba]Код
arr = Range("AB2:AC" & Cells(Rows.Count, 1).End(xlUp).Row).Value arr = Range("AF2:AG" & Cells(Rows.Count, 5).End(xlUp).Row).Value
[/vba] А вдруг?! Автор - DrMini Дата добавления - 01.05.2022 в 10:14
GGR
Дата: Воскресенье, 01.05.2022, 11:36 |
Сообщение № 3
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация:
0
±
Замечаний:
40% ±
Excel 2007
DrMini , к сожалению не работает. Выдает пустые значения.
DrMini , к сожалению не работает. Выдает пустые значения.GGR
Ответить
Сообщение DrMini , к сожалению не работает. Выдает пустые значения.Автор - GGR Дата добавления - 01.05.2022 в 11:36
DrMini
Дата: Понедельник, 02.05.2022, 08:15 |
Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1641
Репутация:
207
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
формировались данные из столбцов AB и EF.
Из этого описания я подумал, что Вам нужно таблицы на листе Пример переместить столбцы A:C и E:G вправо до AB:AD и AF:AH . [p.s.]прошу прощения[/p.s.]
формировались данные из столбцов AB и EF.
Из этого описания я подумал, что Вам нужно таблицы на листе Пример переместить столбцы A:C и E:G вправо до AB:AD и AF:AH . [p.s.]прошу прощения[/p.s.]DrMini
Ответить
Сообщение формировались данные из столбцов AB и EF.
Из этого описания я подумал, что Вам нужно таблицы на листе Пример переместить столбцы A:C и E:G вправо до AB:AD и AF:AH . [p.s.]прошу прощения[/p.s.]Автор - DrMini Дата добавления - 02.05.2022 в 08:15
Pelena
Дата: Вторник, 03.05.2022, 15:55 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация:
4413
±
Замечаний:
±
Excel 365 & Mac Excel
GGR , так хотели?
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение GGR , так хотели?Автор - Pelena Дата добавления - 03.05.2022 в 15:55
jakim
Дата: Вторник, 03.05.2022, 16:44 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1199
Репутация:
313
±
Замечаний:
0% ±
Excel 2010
Power Query
l[vba]Код
et Source = Table.NestedJoin(Table2,{"Номенклатура Список 2"},Table1,{"Номенклатура Список 1"},"Table1",JoinKind.LeftOuter), #"Expanded {0}" = Table.ExpandTableColumn(Source, "Table1", {"Номенклатура Список 1"}, {"Table1.Номенклатура Список 1"}), #"Filtered Rows" = Table.SelectRows(#"Expanded {0}", each ([Table1.Номенклатура Список 1] = null)), #"Renamed Columns" = Table.RenameColumns(#"Filtered Rows",{{"Номенклатура Список 2", "расхождения"}}), #"Replaced Value" = Table.ReplaceValue(#"Renamed Columns",null,"нет в списке1",Replacer.ReplaceValue,{"Table1.Номенклатура Список 1"}), #"Appended Query" = Table.Combine({#"Replaced Value", Merge2}) in #"Appended Query"
[/vba]
Power Query
l[vba]Код
et Source = Table.NestedJoin(Table2,{"Номенклатура Список 2"},Table1,{"Номенклатура Список 1"},"Table1",JoinKind.LeftOuter), #"Expanded {0}" = Table.ExpandTableColumn(Source, "Table1", {"Номенклатура Список 1"}, {"Table1.Номенклатура Список 1"}), #"Filtered Rows" = Table.SelectRows(#"Expanded {0}", each ([Table1.Номенклатура Список 1] = null)), #"Renamed Columns" = Table.RenameColumns(#"Filtered Rows",{{"Номенклатура Список 2", "расхождения"}}), #"Replaced Value" = Table.ReplaceValue(#"Renamed Columns",null,"нет в списке1",Replacer.ReplaceValue,{"Table1.Номенклатура Список 1"}), #"Appended Query" = Table.Combine({#"Replaced Value", Merge2}) in #"Appended Query"
[/vba]jakim
Ответить
Сообщение Power Query
l[vba]Код
et Source = Table.NestedJoin(Table2,{"Номенклатура Список 2"},Table1,{"Номенклатура Список 1"},"Table1",JoinKind.LeftOuter), #"Expanded {0}" = Table.ExpandTableColumn(Source, "Table1", {"Номенклатура Список 1"}, {"Table1.Номенклатура Список 1"}), #"Filtered Rows" = Table.SelectRows(#"Expanded {0}", each ([Table1.Номенклатура Список 1] = null)), #"Renamed Columns" = Table.RenameColumns(#"Filtered Rows",{{"Номенклатура Список 2", "расхождения"}}), #"Replaced Value" = Table.ReplaceValue(#"Renamed Columns",null,"нет в списке1",Replacer.ReplaceValue,{"Table1.Номенклатура Список 1"}), #"Appended Query" = Table.Combine({#"Replaced Value", Merge2}) in #"Appended Query"
[/vba]Автор - jakim Дата добавления - 03.05.2022 в 16:44
GGR
Дата: Пятница, 06.05.2022, 19:35 |
Сообщение № 7
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация:
0
±
Замечаний:
40% ±
Excel 2007
Pelena , благодарю сердечно.Это то что мне надо.
Pelena , благодарю сердечно.Это то что мне надо.GGR
Ответить
Сообщение Pelena , благодарю сердечно.Это то что мне надо.Автор - GGR Дата добавления - 06.05.2022 в 19:35
GGR
Дата: Пятница, 06.05.2022, 19:35 |
Сообщение № 8
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация:
0
±
Замечаний:
40% ±
Excel 2007
jakim , спасибо за решение.
jakim , спасибо за решение.GGR
Ответить
Сообщение jakim , спасибо за решение.Автор - GGR Дата добавления - 06.05.2022 в 19:35
прохожий2019
Дата: Пятница, 06.05.2022, 20:49 |
Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
можно и в один запрос: [vba]Код
let f=(x)=>if x{0}=null then {x{2},x{3},"нет в списке 1",null} else {x{0},x{1},null, "нет в списке 2"}, book = Table.SelectRows(Excel.CurrentWorkbook(),each Text.Contains([Name], "Table"))[Content], from = Table.Join(book{0},{"Номенклатура Список 1"},Table.PrefixColumns(book{1},"2"),{"2.Номенклатура Список 2"},JoinKind.FullOuter), filtr = Table.SelectRows(from, each [Номенклатура Список 1] = null or [2.Номенклатура Список 2] = null ), tbl = Table.FromList(Table.ToRows(filtr),f,{"номенклатура","наименование","статус 1","статус 2"}), to = Table.TransformColumnTypes(tbl,{{"номенклатура", type text}}) in to
[/vba]
можно и в один запрос: [vba]Код
let f=(x)=>if x{0}=null then {x{2},x{3},"нет в списке 1",null} else {x{0},x{1},null, "нет в списке 2"}, book = Table.SelectRows(Excel.CurrentWorkbook(),each Text.Contains([Name], "Table"))[Content], from = Table.Join(book{0},{"Номенклатура Список 1"},Table.PrefixColumns(book{1},"2"),{"2.Номенклатура Список 2"},JoinKind.FullOuter), filtr = Table.SelectRows(from, each [Номенклатура Список 1] = null or [2.Номенклатура Список 2] = null ), tbl = Table.FromList(Table.ToRows(filtr),f,{"номенклатура","наименование","статус 1","статус 2"}), to = Table.TransformColumnTypes(tbl,{{"номенклатура", type text}}) in to
[/vba]прохожий2019
Ответить
Сообщение можно и в один запрос: [vba]Код
let f=(x)=>if x{0}=null then {x{2},x{3},"нет в списке 1",null} else {x{0},x{1},null, "нет в списке 2"}, book = Table.SelectRows(Excel.CurrentWorkbook(),each Text.Contains([Name], "Table"))[Content], from = Table.Join(book{0},{"Номенклатура Список 1"},Table.PrefixColumns(book{1},"2"),{"2.Номенклатура Список 2"},JoinKind.FullOuter), filtr = Table.SelectRows(from, each [Номенклатура Список 1] = null or [2.Номенклатура Список 2] = null ), tbl = Table.FromList(Table.ToRows(filtr),f,{"номенклатура","наименование","статус 1","статус 2"}), to = Table.TransformColumnTypes(tbl,{{"номенклатура", type text}}) in to
[/vba]Автор - прохожий2019 Дата добавления - 06.05.2022 в 20:49