Последние записи
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
- Взаимодействие через командную строку
- Сравнение языков на массивах. Часть 1
- Сравнение языков по скорости
- Чтение огромных xml-файлов
- Как в Python+Selenium webdriver открыть новую вкладку в уже открытом браузере?
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
25th
Июн
Перенос данных из одного листа одной таблицы в создаваемые листы другой таблицы
Posted by obzor under VBA
Подскажите пожалуйста как написать макрос в Excel для переноса данных из одного листа одной таблицы в создаваемые листы другой таблицы. Условия такие: есть таблица (Test), имеющая один лист (Лист1) с данными в трех столбцах, необходимо перенести информацию из ячеек столбцов «В» и «С» в другую таблицу (Nado), таким образом что ячейки первого столбца «А» первой таблицы (Test) должны стать названиями листов второй таблицы (Nado), при совпадении значений ячеек первого столбца «А» новая страница не должна создаваться, строки переносятся только на тот лист, который имеет название первой ячейки строки.
вариант разноса по листам
Sub fa()
Dim r As Long, rr As Long
r = Range("A5000").End(xlUp).Row
Dim i As Long
Dim s As Worksheet
For i = 1 To r
If i = 1 Then
Set s = Sheets.Add(After:=Sheets(Sheets.Count))
s.Name = Sheets(1).Cells(i, 1)
Sheets(1).Range("B" & i & ":C" & i).Copy
s.Cells(1, 1).PasteSpecial
rr = 2
ElseIf Sheets(1).Cells(i - 1, 1) <> Sheets(1).Cells(i, 1) Then
Set s = Sheets.Add(After:=Sheets(Sheets.Count))
s.Name = Sheets(1).Cells(i, 1)
Sheets(1).Range("B" & i & ":C" & i).Copy
s.Cells(1, 1).PasteSpecial
rr = 2
Else
Sheets(1).Range("B" & i & ":C" & i).Copy
s.Cells(rr, 1).PasteSpecial
rr = rr + 1
End If
Next
Set s = Nothing
End Sub
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)