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

Вход

Регистрация

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

 

= Мир MS Excel/перенос данных с одного листа на другой по условиям - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » перенос данных с одного листа на другой по условиям (Макросы/Sub)
перенос данных с одного листа на другой по условиям
Admnis Дата: Среда, 10.02.2021, 11:34 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день, Уважаемые форумчане!
Помогите с решением вот такой задачи
Есть файл категории в нем есть два листа "Свод" и "Категории"
Мне нужно чтоб макрос искал в листе "Категории" по полям и присваивал категории в соответствии с наименованием (столбца А) в листе "Свод" и вставлял информацию в столбец В категории.
К сообщению приложен файл: 1806530.xlsx(36.0 Kb)
 
Ответить
СообщениеДобрый день, Уважаемые форумчане!
Помогите с решением вот такой задачи
Есть файл категории в нем есть два листа "Свод" и "Категории"
Мне нужно чтоб макрос искал в листе "Категории" по полям и присваивал категории в соответствии с наименованием (столбца А) в листе "Свод" и вставлял информацию в столбец В категории.

Автор - Admnis
Дата добавления - 10.02.2021 в 11:34
Admnis Дата: Среда, 10.02.2021, 15:24 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Public Sub www()
Dim arr1
Dim arr2
Set SV = ThisWorkbook.Sheets("СВОД")
Set KT = ThisWorkbook.Sheets("категории")
last_row1 = SV.Cells(SV.Rows.Count, "A").End(xlUp).Row
arr1 = SV.Range(SV.Cells(2, 1), SV.Cells(last_row1, 2))
last_row2 = KT.Cells(KT.Rows.Count, "A").End(xlUp).Row
arr2 = KT.Range(KT.Cells(2, 1), KT.Cells(last_row2, 3))
ReDim arr3(1 To UBound(arr1), 1 To 1)
For i = 1 To UBound(arr1)
For j = 1 To UBound(arr2)
If Replace(arr2(j, 1), """", "") = arr1(i, 1) Then
arr3(i, 1) = arr2(j, 3)
End If
Next j
Next i
Sheets("СВОД").Cells(2, "B").Resize(UBound(arr1), 1) = arr3
End Sub

Пробовали так , заполняет не все ячейки в столбце категории на листе "Свод"

 
Ответить
СообщениеPublic Sub www()
Dim arr1
Dim arr2
Set SV = ThisWorkbook.Sheets("СВОД")
Set KT = ThisWorkbook.Sheets("категории")
last_row1 = SV.Cells(SV.Rows.Count, "A").End(xlUp).Row
arr1 = SV.Range(SV.Cells(2, 1), SV.Cells(last_row1, 2))
last_row2 = KT.Cells(KT.Rows.Count, "A").End(xlUp).Row
arr2 = KT.Range(KT.Cells(2, 1), KT.Cells(last_row2, 3))
ReDim arr3(1 To UBound(arr1), 1 To 1)
For i = 1 To UBound(arr1)
For j = 1 To UBound(arr2)
If Replace(arr2(j, 1), """", "") = arr1(i, 1) Then
arr3(i, 1) = arr2(j, 3)
End If
Next j
Next i
Sheets("СВОД").Cells(2, "B").Resize(UBound(arr1), 1) = arr3
End Sub

Пробовали так , заполняет не все ячейки в столбце категории на листе "Свод"


Автор - Admnis
Дата добавления - 10.02.2021 в 15:24
Pelena Дата: Среда, 10.02.2021, 15:52 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 17240
Репутация: 3764 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Admnis, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеAdmnis, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 10.02.2021 в 15:52
Мир MS Excel » Вопросы и решения » Вопросы по VBA » перенос данных с одного листа на другой по условиям (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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