0 / 0 / 0
Регистрация: 17.05.2016
Сообщений: 1
1

Перенос данных из одного листа одной таблицы в создаваемые листы другой таблицы

24.06.2016, 08:32. Показов 4255. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Подскажите пожалуйста как написать макрос в Excel для переноса данных из одного листа одной таблицы в создаваемые листы другой таблицы. Условия такие: есть таблица (Test), имеющая один лист (Лист1) с данными в трех столбцах, необходимо перенести информацию из ячеек столбцов "В" и "С" в другую таблицу (Nado), таким образом что ячейки первого столбца "А" первой таблицы (Test) должны стать названиями листов второй таблицы (Nado), при совпадении значений ячеек первого столбца "А" новая страница не должна создаваться, строки переносятся только на тот лист, который имеет название первой ячейки строки.
То есть нужен такой механизм:
1) копируем в буфер значение первой ячейки А1 таблицы Test, открываем таблицу Nado, создаем лист с именем из буфера (значение ячейки А1 таблицы Test);
2) копируем значения первой строчки ячеек "В1" и "С1" таблицы Test, соответственно, в ячейки "А1" "В1" первого листа (название="А1" таблицы Test) таблицы Nado;
3) далее сравниваем значение ячейки "А1" таблицы Test со значением ячейки "В1" таблицы Test, если "равно", то продолжаем записывать на тот же лист (название="А1" таблицы Test) таблицы Nado (В2 и С2 соответственно в А2 и В2), если "не равно", то создаем новый лист в таблице Nado c таким названием и копируем ячейки как описано выше (В2 и С2 таблицы Test соответственно в А1 и В1 нового листа таблицы Nado);
4) продолжаем до тех пор пока не кончатся данные.

Спасибо за Ваше потраченное время и силы!
Вложения
Тип файла: xlsx Nado.xlsx (12.1 Кб, 19 просмотров)
Тип файла: xlsx test.xlsx (8.4 Кб, 18 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2016, 08:32
Ответы с готовыми решениями:

Макрос для копирования данных из диапазона таблицы одного листа и вставка в диапазон таблицы другого листа
Добрый день! Прошу подсказать как написать макрос, чтобы он искал ячейку со значением "февраль"...

Перенос данных с одного листа одной книги на другой лист другой книги с константой
Добрый вечер, товарищи! Есть прайс-лист, который содержит в себе много колонок и строк. На...

Перенос двух ячеек из одной строки таблицы, в одну ячейку другой таблицы.
Можно ли каким-то образом перенести так как показано на рисунках. Нужно при нажатии на клавишу,...

Перенос двух ячеек из одной строки таблицы, в одну ячейку другой таблицы.
Я объясню по кароче. Если чек бокс = true то две ячеки надо занести и объединить в одну в другой...

1
5612 / 1596 / 414
Регистрация: 23.12.2010
Сообщений: 2,389
Записей в блоге: 1
28.06.2016, 17:22 2
Лучший ответ Сообщение было отмечено Dimitar как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub Perenos_v_Nado()
    Dim A, Sh, i%, LastRow&
    A = Workbooks("test.xlsx").Worksheets(1).[A1].CurrentRegion
    For Each Sh In Workbooks("nado.xlsx").Worksheets
        Sh.Cells.Clear
    Next Sh
    For i = 1 To UBound(A)
        A(i, 1) = format$(A(i, 1))
        With Workbooks("nado.xlsx")
            If Not SheetExists(A(i, 1), Workbooks("nado.xlsx")) Then
               With .Worksheets.Add(After:=.Worksheets(.Worksheets.Count)): .Name = A(i, 1): End With
            End If
            With .Worksheets(A(i, 1))
                LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
                If IsEmpty(.[A1]) Then LastRow = 1
                .Cells(LastRow, 1) = A(i, 2)
                .Cells(LastRow, 2) = A(i, 3)
            End With
        End With
    Next i
End Sub
Function SheetExists(SheetName, Optional wb As Workbook) As Boolean
    If wb Is Nothing Then Set wb = ActiveWorkbook
    On Local Error Resume Next: SheetExists = wb.Worksheets(SheetName).Name = SheetName: Err.Clear
End Function
1
28.06.2016, 17:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.06.2016, 17:22
Помогаю со студенческими работами здесь

Перенос данных из одного листа на другой
Всем доброго времени суток, господа Проблема вот в чём: есть рабочая книга, в ней два листа. На...

Перенос данных с одного листа на другой!
Переношу данные с одного листа на другой.Hадо что бы не переносилось согласно колличества строк, а...

Перенос данных с одного листа на другой
Добрый день. Существует два листа, в них хранятся данные. В первый лист мы загружаем обновлённую...

Перенос данных с одного листа на другой
Добрый день! В книге два листа лист 1 с данными, лист 2 в него надо перенести некоторые данные....

Перенос данных из одного листа на другой
У меня в excel предположим, что в диапазоне A1:F2 данные, и мне нужно, что бы эти данные были на...

Перенос данных с одного листа на другой
Такая проблема, на одном листе записаны автомобили и их гос.номера. нужно, чтобы на другом листе,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru