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

Вход

Регистрация

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

 

= Мир MS Excel/дублирование двух диапазонов данных с Листа1 на Лист2 - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » дублирование двух диапазонов данных с Листа1 на Лист2 (Макросы/Sub)
дублирование двух диапазонов данных с Листа1 на Лист2
Alfa Дата: Понедельник, 08.12.2014, 16:03 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Есть макрос, который переносит данные с Листа Календарь в Лист Дубликат. Проблема в том, что он тиражирует данные при каждом сохранении файла, а нужно, что бы только обновлял их в Листе Дубликат, т.е. добавлял новые. Помогите подправить код в макросе
К сообщению приложен файл: _.xlsm.xls (28.0 Kb)
 
Ответить
СообщениеЕсть макрос, который переносит данные с Листа Календарь в Лист Дубликат. Проблема в том, что он тиражирует данные при каждом сохранении файла, а нужно, что бы только обновлял их в Листе Дубликат, т.е. добавлял новые. Помогите подправить код в макросе

Автор - Alfa
Дата добавления - 08.12.2014 в 16:03
Cheshir0067 Дата: Понедельник, 08.12.2014, 16:31 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 35
Репутация: 8 ±
Замечаний: 0% ±

Excel 2010
Уточните вопрос.
Вы хотите чтобы на листе дубликат таблица была отображена один раз, и обновлялась при добавлении новых значений в таблице с листа календарь ?


irelandzp@gmail.com
 
Ответить
СообщениеУточните вопрос.
Вы хотите чтобы на листе дубликат таблица была отображена один раз, и обновлялась при добавлении новых значений в таблице с листа календарь ?

Автор - Cheshir0067
Дата добавления - 08.12.2014 в 16:31
Alfa Дата: Понедельник, 08.12.2014, 16:53 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Шапка таблицы делается руками... Данные появляется при первом сохранении файла. Затем добавляются по мере появления
 
Ответить
СообщениеШапка таблицы делается руками... Данные появляется при первом сохранении файла. Затем добавляются по мере появления

Автор - Alfa
Дата добавления - 08.12.2014 в 16:53
JayBhagavan Дата: Понедельник, 08.12.2014, 16:54 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
В макрос "Workbook_BeforeSave" перед "End Sub" добавьте.
[vba]
Код
    Sheets("Дубликат").UsedRange.RemoveDuplicates Columns:=Array(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, 26, 27, 28, 29, 30, 31, 32, 33, _
         34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, _
         60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, _
         86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, _
         109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128 _
         , 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, _
         148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167 _
         , 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, _
         187, 188, 189, 190), Header:=xlYes
[/vba]


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов
 
Ответить
СообщениеВ макрос "Workbook_BeforeSave" перед "End Sub" добавьте.
[vba]
Код
    Sheets("Дубликат").UsedRange.RemoveDuplicates Columns:=Array(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, 26, 27, 28, 29, 30, 31, 32, 33, _
         34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, _
         60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, _
         86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, _
         109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128 _
         , 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, _
         148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167 _
         , 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, _
         187, 188, 189, 190), Header:=xlYes
[/vba]

Автор - JayBhagavan
Дата добавления - 08.12.2014 в 16:54
Alfa Дата: Понедельник, 08.12.2014, 17:09 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
что-то не получается, выдает сообщение об ошибке 1004(выделенный диапазон не является допустимым), может не туда вставляю
 
Ответить
Сообщениечто-то не получается, выдает сообщение об ошибке 1004(выделенный диапазон не является допустимым), может не туда вставляю

Автор - Alfa
Дата добавления - 08.12.2014 в 17:09
RAN Дата: Понедельник, 08.12.2014, 17:46 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Не понял сверхзадачу :(
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Календарь").UsedRange.Copy Sheets("Дубликат").Range("A1")
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНе понял сверхзадачу :(
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Календарь").UsedRange.Copy Sheets("Дубликат").Range("A1")
End Sub
[/vba]

Автор - RAN
Дата добавления - 08.12.2014 в 17:46
JayBhagavan Дата: Понедельник, 08.12.2014, 17:54 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
Alfa, не знаю, у меня без вопросов отработал макрос на Вашем файле.
К сообщению приложен файл: -xlsm.xls (31.5 Kb)


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов
 
Ответить
СообщениеAlfa, не знаю, у меня без вопросов отработал макрос на Вашем файле.

Автор - JayBhagavan
Дата добавления - 08.12.2014 в 17:54
Alfa Дата: Понедельник, 08.12.2014, 18:00 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, сейчас копируется весь лист Календарь, а мне нужно что бы копировались два периода по столбцам:
A-F
HK-OL
 
Ответить
СообщениеRAN, сейчас копируется весь лист Календарь, а мне нужно что бы копировались два периода по столбцам:
A-F
HK-OL

Автор - Alfa
Дата добавления - 08.12.2014 в 18:00
Gustav Дата: Понедельник, 08.12.2014, 18:02 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Sheets("Дубликат").UsedRange.RemoveDuplicates Columns:=Array(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, 26, 27, 28, 29, 30, 31, 32, 33, _
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, _
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, _
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, _
109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128 _
, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, _
148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167 _
, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, _
187, 188, 189, 190), Header:=xlYes

Эммм... Ну, нельзя же так буквально... :) :
[vba]
Код
    Dim arr(0 To 189), i%
     For i = 1 To 190
         arr(i - 1) = i
     Next i
     ..............................
     Sheets("Дубликат").UsedRange.RemoveDuplicates Columns:=arr, Header:=xlYes
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Sheets("Дубликат").UsedRange.RemoveDuplicates Columns:=Array(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, 26, 27, 28, 29, 30, 31, 32, 33, _
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, _
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, _
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, _
109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128 _
, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, _
148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167 _
, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, _
187, 188, 189, 190), Header:=xlYes

Эммм... Ну, нельзя же так буквально... :) :
[vba]
Код
    Dim arr(0 To 189), i%
     For i = 1 To 190
         arr(i - 1) = i
     Next i
     ..............................
     Sheets("Дубликат").UsedRange.RemoveDuplicates Columns:=arr, Header:=xlYes
[/vba]

Автор - Gustav
Дата добавления - 08.12.2014 в 18:02
RAN Дата: Понедельник, 08.12.2014, 18:02 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Вам нужен дубликат, чи шо?
Дубликат делается полным копированием, иначе это не дубликат.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВам нужен дубликат, чи шо?
Дубликат делается полным копированием, иначе это не дубликат.

Автор - RAN
Дата добавления - 08.12.2014 в 18:02
Alfa Дата: Понедельник, 08.12.2014, 18:03 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
JayBhagavan, спасибо, работает!
Я так же вставлял, странно, что у меня выдал сообщение об ошибке...
 
Ответить
СообщениеJayBhagavan, спасибо, работает!
Я так же вставлял, странно, что у меня выдал сообщение об ошибке...

Автор - Alfa
Дата добавления - 08.12.2014 в 18:03
Alfa Дата: Понедельник, 08.12.2014, 18:04 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
дубликат конкретных строк, а не Листа
 
Ответить
Сообщениедубликат конкретных строк, а не Листа

Автор - Alfa
Дата добавления - 08.12.2014 в 18:04
Alfa Дата: Понедельник, 08.12.2014, 18:04 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
столбцов, извините
 
Ответить
Сообщениестолбцов, извините

Автор - Alfa
Дата добавления - 08.12.2014 в 18:04
JayBhagavan Дата: Понедельник, 08.12.2014, 18:08 | Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
Gustav, оставил пространство для развития ТС. Вот, Вы его и просветили. Было лень переделывать запись макрорекордера.


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов
 
Ответить
СообщениеGustav, оставил пространство для развития ТС. Вот, Вы его и просветили. Было лень переделывать запись макрорекордера.

Автор - JayBhagavan
Дата добавления - 08.12.2014 в 18:08
RAN Дата: Понедельник, 08.12.2014, 18:08 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Календарь").Range("A:F").Copy Sheets("Дубликат").Range("A1")
Sheets("Календарь").Range("HR:OL").Copy Sheets("Дубликат").Range("HR1")
End Sub
[/vba]
:'( :'(


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Понедельник, 08.12.2014, 18:09
 
Ответить
Сообщение[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Календарь").Range("A:F").Copy Sheets("Дубликат").Range("A1")
Sheets("Календарь").Range("HR:OL").Copy Sheets("Дубликат").Range("HR1")
End Sub
[/vba]
:'( :'(

Автор - RAN
Дата добавления - 08.12.2014 в 18:08
Alfa Дата: Понедельник, 08.12.2014, 18:15 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, а второй период переносится далеко вправо за мой диапазон, можно его вернуть на место
 
Ответить
СообщениеRAN, а второй период переносится далеко вправо за мой диапазон, можно его вернуть на место

Автор - Alfa
Дата добавления - 08.12.2014 в 18:15
Alfa Дата: Понедельник, 08.12.2014, 18:16 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
все вернул, подправил в периоде
 
Ответить
Сообщениевсе вернул, подправил в периоде

Автор - Alfa
Дата добавления - 08.12.2014 в 18:16
Alfa Дата: Понедельник, 08.12.2014, 18:17 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Невероятно! Такая простая запись!!!! Спасибо Вам огромное!!!!!
 
Ответить
СообщениеНевероятно! Такая простая запись!!!! Спасибо Вам огромное!!!!!

Автор - Alfa
Дата добавления - 08.12.2014 в 18:17
RAN Дата: Понедельник, 08.12.2014, 18:18 | Сообщение № 19
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sheets("Календарь").Range("HR:OL").Copy Sheets("Дубликат").Range("HR1")
[/vba]
"HR1" заменить на "G1"
Нет?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sheets("Календарь").Range("HR:OL").Copy Sheets("Дубликат").Range("HR1")
[/vba]
"HR1" заменить на "G1"
Нет?

Автор - RAN
Дата добавления - 08.12.2014 в 18:18
Gustav Дата: Понедельник, 08.12.2014, 18:21 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Было лень переделывать запись макрорекордера.

Действительно. Никогда не записывал эту операцию, не знал, что рекордер в этом месте так неотесан. Тоже просветился, спасибо ))


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Было лень переделывать запись макрорекордера.

Действительно. Никогда не записывал эту операцию, не знал, что рекордер в этом месте так неотесан. Тоже просветился, спасибо ))

Автор - Gustav
Дата добавления - 08.12.2014 в 18:21
Мир MS Excel » Вопросы и решения » Вопросы по VBA » дублирование двух диапазонов данных с Листа1 на Лист2 (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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