Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сравнение ячейки с массивом с последующим копированием - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сравнение ячейки с массивом с последующим копированием (Макросы/Sub)
Сравнение ячейки с массивом с последующим копированием
Rolanlev Дата: Вторник, 01.09.2020, 12:10 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Есть такой макрос :
[vba]
Код
Sub vvv()
With Sheets("Лист2")
Lr = .Cells(Rows.Count, 1).End(xlUp).Row
a = .Range("A1:A" & Lr).Value
Set sd = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(a)
sd.Item(a(i, 1)) = ""
Next

For i = 1 To Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row
If Not sd.Exists(Sheets("Лист1").Cells(i, 1).Value) Then
sd.Item(Sheets("Лист1").Cells(i, 1).Value) = ""
Lr = Lr + 1
.Cells(Lr, 1) = Sheets("Лист1").Cells(i, 1)
.Cells(Lr, 2) = Sheets("Лист1").Cells(i, 2)
End If
Next
End With
End Sub
[/vba]

Он сравнивает данные по столбцу А на двух листах и если они не совпадают то копирует с Листа 1 на Лист 2 столбцы А,B.

Помогите переделать его так чтобы он сравнивал данные по столбцу А и при совпадении данных копировал столбцы А,В,С с Листа 1 в конец Листа 1 и дописывал дальше данные столбцов D,E,F c Листа 2.
К сообщению приложен файл: 333.zip(14.6 Kb)


Сообщение отредактировал Rolanlev - Вторник, 01.09.2020, 15:29
 
Ответить
СообщениеЕсть такой макрос :
[vba]
Код
Sub vvv()
With Sheets("Лист2")
Lr = .Cells(Rows.Count, 1).End(xlUp).Row
a = .Range("A1:A" & Lr).Value
Set sd = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(a)
sd.Item(a(i, 1)) = ""
Next

For i = 1 To Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row
If Not sd.Exists(Sheets("Лист1").Cells(i, 1).Value) Then
sd.Item(Sheets("Лист1").Cells(i, 1).Value) = ""
Lr = Lr + 1
.Cells(Lr, 1) = Sheets("Лист1").Cells(i, 1)
.Cells(Lr, 2) = Sheets("Лист1").Cells(i, 2)
End If
Next
End With
End Sub
[/vba]

Он сравнивает данные по столбцу А на двух листах и если они не совпадают то копирует с Листа 1 на Лист 2 столбцы А,B.

Помогите переделать его так чтобы он сравнивал данные по столбцу А и при совпадении данных копировал столбцы А,В,С с Листа 1 в конец Листа 1 и дописывал дальше данные столбцов D,E,F c Листа 2.

Автор - Rolanlev
Дата добавления - 01.09.2020 в 12:10
Rolanlev Дата: Вторник, 01.09.2020, 16:52 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Тема не актуальная, решение найдено.
 
Ответить
СообщениеТема не актуальная, решение найдено.

Автор - Rolanlev
Дата добавления - 01.09.2020 в 16:52
Pelena Дата: Вторник, 01.09.2020, 17:43 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16638
Репутация: 3597 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Rolanlev, решением поделиться не хотите?


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеRolanlev, решением поделиться не хотите?

Автор - Pelena
Дата добавления - 01.09.2020 в 17:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сравнение ячейки с массивом с последующим копированием (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2020 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!