Макрос в excel для переноса значений из одного листа в другой

Обновлено: 06.07.2024

Добрый вечер, уважаемый Omeg!

Пометте цветом, пожалуйста, блоки формы, количество строк в которых может изменятся. Или же форма неизменна ни по строкам ни по столбцам?

Добрый вечер, уважаемый Omeg!

Пометте цветом, пожалуйста, блоки формы, количество строк в которых может изменятся. Или же форма неизменна ни по строкам ни по столбцам? GWolf

Пометте цветом, пожалуйста, блоки формы, количество строк в которых может изменятся. Или же форма неизменна ни по строкам ни по столбцам? Автор - GWolf
Дата добавления - 17.01.2013 в 18:03

Добрый вечер, уважаемый GWolf!
Пометил строки, количество которых может изменяться. Если это сильно осложняет положение, можно количество полей оставить в таком виде)
Спасибо что откликнулись, два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему(( Добрый вечер, уважаемый GWolf!
Пометил строки, количество которых может изменяться. Если это сильно осложняет положение, можно количество полей оставить в таком виде)
Спасибо что откликнулись, два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему(( Omeg

Доброй ночи, уважаемый Omeg!

Пока ждал от Вас ответа, набросал макрос для неизменного количества строк в файле-источнике:

Dim P_familija As String, P_imja As String, P_otcestwo As String
Dim P_NomIspList As String
Dim P_SumOsnDolg As String, P_SumUderj As String, P_SumPerecisl As String

P_familija = "" '- Фамилия
P_imja = "" '- Имя
P_otcestwo = "" '- Отчество
P_NomIspList = "" '- Номер исполнительного листа
P_SumOsnDolg = "" '- Сумма основного долга --> Начальный баланс
P_SumUderj = "" '- Сумма удержанная
P_SumPerecisl = "" '- Сумма начисленная

nR = 0 '- обнуляем счетчик
'закроем файл-приемник с сохранением
.Close SaveChanges:=True
End With
Set wbOp = Nothing '- чистим объектную переменную

'очистим значения переменных
P_familija = ""
P_imja = ""
P_otcestwo = ""
P_NomIspList = ""
P_SumOsnDolg = ""
P_SumUderj = ""
P_SumPerecisl = ""
End Sub

полагаю, что в виду того, что Вы

два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему
мой труд не будет бесполезен. Для случая с изменяющимися координатами "Итого начислено" и "Итого удержано" код будет несколько другим. Если будете иметь немного терпения то я таки и его Вам напишу!
С уважением GWolf.

Доброй ночи, уважаемый Omeg!

Пока ждал от Вас ответа, набросал макрос для неизменного количества строк в файле-источнике:

Dim P_familija As String, P_imja As String, P_otcestwo As String
Dim P_NomIspList As String
Dim P_SumOsnDolg As String, P_SumUderj As String, P_SumPerecisl As String

P_familija = "" '- Фамилия
P_imja = "" '- Имя
P_otcestwo = "" '- Отчество
P_NomIspList = "" '- Номер исполнительного листа
P_SumOsnDolg = "" '- Сумма основного долга --> Начальный баланс
P_SumUderj = "" '- Сумма удержанная
P_SumPerecisl = "" '- Сумма начисленная

nR = 0 '- обнуляем счетчик
'закроем файл-приемник с сохранением
.Close SaveChanges:=True
End With
Set wbOp = Nothing '- чистим объектную переменную

'очистим значения переменных
P_familija = ""
P_imja = ""
P_otcestwo = ""
P_NomIspList = ""
P_SumOsnDolg = ""
P_SumUderj = ""
P_SumPerecisl = ""
End Sub

полагаю, что в виду того, что Вы

два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему
мой труд не будет бесполезен. Для случая с изменяющимися координатами "Итого начислено" и "Итого удержано" код будет несколько другим. Если будете иметь немного терпения то я таки и его Вам напишу!
С уважением GWolf. GWolf

Путей к вершине множество. Этот один из многих.

Пока ждал от Вас ответа, набросал макрос для неизменного количества строк в файле-источнике:

Dim P_familija As String, P_imja As String, P_otcestwo As String
Dim P_NomIspList As String
Dim P_SumOsnDolg As String, P_SumUderj As String, P_SumPerecisl As String

P_familija = "" '- Фамилия
P_imja = "" '- Имя
P_otcestwo = "" '- Отчество
P_NomIspList = "" '- Номер исполнительного листа
P_SumOsnDolg = "" '- Сумма основного долга --> Начальный баланс
P_SumUderj = "" '- Сумма удержанная
P_SumPerecisl = "" '- Сумма начисленная

nR = 0 '- обнуляем счетчик
'закроем файл-приемник с сохранением
.Close SaveChanges:=True
End With
Set wbOp = Nothing '- чистим объектную переменную

'очистим значения переменных
P_familija = ""
P_imja = ""
P_otcestwo = ""
P_NomIspList = ""
P_SumOsnDolg = ""
P_SumUderj = ""
P_SumPerecisl = ""
End Sub

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

Файл с примером прилагаю в нем все цветами выделено что копировать и куда вставлять.

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

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

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

Макрос для выборочного переноса из одного листа в другой
Здраствуйте! Так уж сложилось, что я не владею языками (программирования), но хорошо разбираюсь в.

ArtNord, сейчас минутку

Да, вижу, а что куда и по какому условию.
Все увидел внизу то что желтым выделено это условия, а синим это нужно перенести на лист 2

Решение

ArtNord, ДА ВСЕ РАБОТАЕТ ЭТО ПРОСТО МАГИЯ КАКАЯ ТО , ВОТ ТОЛЬКО Я ЗАБЫЛ УКАЗАТЬ НА КОЛОНКУ ДЮЙМЫ, МОЖНО ИХ ТОЖЕ КОПИРОВАТЬ? ПО ТЕМ ЖЕ УСЛОВИЯМ ArtNord, Вы просто супер. Спасибо огромное вам. Еще одна просьба, вы не могли бы разъяснить по вашему макросу, что какая команда делает?
ArtNord, вам спасибо за помощь. на самом деле в этой таблице более 50000 строк и она с каждым днем становится больше. Макрос будет работать на все эти строки? Да, вот эта строчка как раз и опреляет сколько сейчас записей:
ArtNord, а если копировать нужно не на лист 2 а на другой лист который находится в другой книге, что нужно сделать? простите меня я такой овощь в этом деле, я не пойму куда мне нужно эту строчку вставить? ArtNord, Вы просто супер. Я если честно даже не ожидал, что мне так сразу тут помогут. Дай вам бог здоровья. Спасибо! Взаимно! Просто коротаю время до конца рабочего дня ))))

ArtNord, нет не просто коротаете, вы людям помогаете. Еще раз огромное спасибо ВАМ.

Добавлено через 4 минуты
ArtNord, вы не подскажете, можно самому так научиться макросы писать, если да то где?

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

Как скопировать значения ячеек с одного листа на другой с определенным интервалом
Мне нужно с листа "Февраль 2016" на лист "Производительность" перенести данные. С листа "Февраль.


Данные, соответствующие определённым значениям, перенести с одного листа на другой, на аналогичные значения
Задача такая: есть два файла xls. В Первом (исходном) файле: есть номера статей (допустим, от 1 до.

Фиксирование информации с одного листа и запись на другой
dopustim na pervom liste kotoriy nazivaetsya muj imya familiya god rojdeniya na vtorom liste.

Перенос с одного листа на другой информации по условию
Подскажите пожалуйста, что-то я . необходимо перенести с одного листа (Лист1) на другой (Лист2).

На одном листе расположен список повторяющихся городов с информацией о предприятиях общепита:

Исходная таблица задания №1

Исходная таблица задания №1

Необходимо данные по каждому городу перенести в одну строку на другом листе (таблица обрезана справа):

Часть результирующего списка задания №1

Часть результирующего списка задания №1

Решение копированием с листа на лист

Это решение значительно проще, чем с использованием массивов, но более медленное. При больших объемах информации обработка может длиться достаточно долго. Решение достигается путем присваивания значений ячеек из таблицы первого листа ячейкам второго листа.

Dim n1 As Long , n2 As Long , n3 As Long , n4 As Long , _ n1 = Sheets ( "Лист1" ) . Cells ( 1 , 1 ) . CurrentRegion . Rows . Count

Переменные:

  • n1 – количество строк в исходной таблице;
  • n2 – номер столбца текущей ячейки исходной таблицы, к которой обращается цикл;
  • n3 – номер строки текущей ячейки на втором листе;
  • n4 – номер столбца текущей ячейки на втором листе;
  • i1 – счетчик цикла For… Next;
  • gorod – переменная с наименованием города, предназначенная для контроля за сменой текущего города, который обрабатывается циклом.

Решение с использованием массивов

Циклы в массивах работают очень быстро, но решение с ними может быть сложнее, чем при простом присваивании значений одних ячеек другим. В этом примере для упрощения кода две процедуры записаны отдельно и в нужные моменты вызываются для исполнения.

Подпрограммы Kopirovanie и Vstavka используются в цикле For. Next процедуры Resheniye2 по два раза, поэтому их коды вынесены за пределы процедуры Resheniye2 и вызываются по мере необходимости.

Переменные:

  • massiv1 – его элементам присваиваются значения ячеек исходной таблицы;
  • massiv2 – одномерный массив, заполняемый данными из переменной txt1;
  • massiv3 – двумерный массив, заполняемый данными из одномерного массива massiv2 и используемый для вставки очередной строки на второй лист;
  • txt1 – сюда копируются через разделитель значения элементов массива massiv1, предназначенные для заполнения очередной строки на втором листе;
  • n1 – количество строк в исходной таблице;
  • n2 – количество столбцов в исходной таблице;
  • n3 – номер текущей строки на втором листе;
  • n4 – количество столбцов текущей строки на втором листе (соответствует количеству элементов массива massiv2);
  • i1, i2, i3 – счетчики цикла For… Next;
  • gorod – переменная с наименованием города, предназначенная для контроля за сменой текущего города, который обрабатывается циклом.

Переменные, использующиеся более чем в одной процедуре, объявлены как глобальные в разделе Declarations программного модуля.

Добрый вечер, уважаемый Omeg!

Пометте цветом, пожалуйста, блоки формы, количество строк в которых может изменятся. Или же форма неизменна ни по строкам ни по столбцам?

Добрый вечер, уважаемый Omeg!

Пометте цветом, пожалуйста, блоки формы, количество строк в которых может изменятся. Или же форма неизменна ни по строкам ни по столбцам? GWolf

Пометте цветом, пожалуйста, блоки формы, количество строк в которых может изменятся. Или же форма неизменна ни по строкам ни по столбцам? Автор - GWolf
Дата добавления - 17.01.2013 в 18:03

Добрый вечер, уважаемый GWolf!
Пометил строки, количество которых может изменяться. Если это сильно осложняет положение, можно количество полей оставить в таком виде)
Спасибо что откликнулись, два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему(( Добрый вечер, уважаемый GWolf!
Пометил строки, количество которых может изменяться. Если это сильно осложняет положение, можно количество полей оставить в таком виде)
Спасибо что откликнулись, два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему(( Omeg

Доброй ночи, уважаемый Omeg!

Пока ждал от Вас ответа, набросал макрос для неизменного количества строк в файле-источнике:

Dim P_familija As String, P_imja As String, P_otcestwo As String
Dim P_NomIspList As String
Dim P_SumOsnDolg As String, P_SumUderj As String, P_SumPerecisl As String

P_familija = "" '- Фамилия
P_imja = "" '- Имя
P_otcestwo = "" '- Отчество
P_NomIspList = "" '- Номер исполнительного листа
P_SumOsnDolg = "" '- Сумма основного долга --> Начальный баланс
P_SumUderj = "" '- Сумма удержанная
P_SumPerecisl = "" '- Сумма начисленная

nR = 0 '- обнуляем счетчик
'закроем файл-приемник с сохранением
.Close SaveChanges:=True
End With
Set wbOp = Nothing '- чистим объектную переменную

'очистим значения переменных
P_familija = ""
P_imja = ""
P_otcestwo = ""
P_NomIspList = ""
P_SumOsnDolg = ""
P_SumUderj = ""
P_SumPerecisl = ""
End Sub

полагаю, что в виду того, что Вы

два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему
мой труд не будет бесполезен. Для случая с изменяющимися координатами "Итого начислено" и "Итого удержано" код будет несколько другим. Если будете иметь немного терпения то я таки и его Вам напишу!
С уважением GWolf.

Доброй ночи, уважаемый Omeg!

Пока ждал от Вас ответа, набросал макрос для неизменного количества строк в файле-источнике:

Dim P_familija As String, P_imja As String, P_otcestwo As String
Dim P_NomIspList As String
Dim P_SumOsnDolg As String, P_SumUderj As String, P_SumPerecisl As String

P_familija = "" '- Фамилия
P_imja = "" '- Имя
P_otcestwo = "" '- Отчество
P_NomIspList = "" '- Номер исполнительного листа
P_SumOsnDolg = "" '- Сумма основного долга --> Начальный баланс
P_SumUderj = "" '- Сумма удержанная
P_SumPerecisl = "" '- Сумма начисленная

nR = 0 '- обнуляем счетчик
'закроем файл-приемник с сохранением
.Close SaveChanges:=True
End With
Set wbOp = Nothing '- чистим объектную переменную

'очистим значения переменных
P_familija = ""
P_imja = ""
P_otcestwo = ""
P_NomIspList = ""
P_SumOsnDolg = ""
P_SumUderj = ""
P_SumPerecisl = ""
End Sub

полагаю, что в виду того, что Вы

два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему
мой труд не будет бесполезен. Для случая с изменяющимися координатами "Итого начислено" и "Итого удержано" код будет несколько другим. Если будете иметь немного терпения то я таки и его Вам напишу!
С уважением GWolf. GWolf

Путей к вершине множество. Этот один из многих.

Пока ждал от Вас ответа, набросал макрос для неизменного количества строк в файле-источнике:

Dim P_familija As String, P_imja As String, P_otcestwo As String
Dim P_NomIspList As String
Dim P_SumOsnDolg As String, P_SumUderj As String, P_SumPerecisl As String

P_familija = "" '- Фамилия
P_imja = "" '- Имя
P_otcestwo = "" '- Отчество
P_NomIspList = "" '- Номер исполнительного листа
P_SumOsnDolg = "" '- Сумма основного долга --> Начальный баланс
P_SumUderj = "" '- Сумма удержанная
P_SumPerecisl = "" '- Сумма начисленная

nR = 0 '- обнуляем счетчик
'закроем файл-приемник с сохранением
.Close SaveChanges:=True
End With
Set wbOp = Nothing '- чистим объектную переменную

'очистим значения переменных
P_familija = ""
P_imja = ""
P_otcestwo = ""
P_NomIspList = ""
P_SumOsnDolg = ""
P_SumUderj = ""
P_SumPerecisl = ""
End Sub

Приведу три способа Автоматического переноса данных с одного листа программы «Эксель» в другой.

Первый, самый простой и примитивный способ связи двух таблиц на разных листах документа -вставка данных при помощи опции специальной вставки.

Рассмотрим, как соединить две таблицы по шагам.

Первый шаг.

Необходимо выделить ту таблицу, из которой будут транслироваться данные во вторую таблицу.

Второй шаг.

Копировать информацию сочетанием клавиш ctrl+C или вызвав контекстное меню правой кнопкой мыши и кликнув по пункту меню «Копировать»

Копировать данные из одной таблицы

Третий шаг.

Перейти на лист документа «Excel», в который Вы планируете транслировать информацию из первой таблицы.

Четвертый шаг.

После вставки связи следует отформатировать вид ячеек – привести их к надлежащему виду.

При использовании данного метода роль второй таблицы («реципиента») играет сама сводная таблица.

Как обновить сводную таблицу

Как обновить сводную таблицу

При клике правой кнопкой мыши по сводной таблице и нажатии на пункт «Обновить» сводная таблица автоматически перенесет все данные из связанного массива информации («таблицы донора»).

О том, как в «Эксель» создавать сводные таблицы подробно написано в статье:

Как делать сводные таблицы в программе «Excel» и для чего они нужны.

Правда нужно отметить, что этот способ подходит только пользователям Excel 2016 и пользователям Excel 2013и выше с установленной надстройкой «Power Query».

Смысл способа в следующем:

Из таблицы -Power Query

Из таблицы -Power Query

Источник данных для запроса Power Query

Источник данных для запроса Power Query

Настройка таблицы в Повер Квери

После выбора области данных появится окно настройки вида новой таблицы. В этом окне Вы можете настроить последовательность вывода столбцов и удалить ненужные столбцы.

После настройки вида таблицы нажмите кнопку «Закрыть и загрузить»

Обновление полученной таблицы происходит кликом правой кнопки мыши по названию нужного запроса в правой части листа (список «Запросы книги»). После клика правой кнопкой мыши в выпадающем контекстном меню следует нажать на пункт «Обновить»

Обновление запроса в PowerQuery

Обновление запроса в PowerQuery

Читайте также: