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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование диапозона со сдвигом - Мир MS Excel

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

Excel 2013
Добрый день!
Менеджер, на листе "Накладная" - ручками выбирает диапазон, нажимает кнопку "Внести в историю заказов" после чего нужно, что бы выбранный диапазон копировался в лист "История заказов" - реализовано, через копирование строк, а нужно через копирование диапазона, причем копирование должно быть со сдвигом на 2 столбца... ни как не могу разобраться с этим. Так же вопрос о том как назначить скопированному диапазону рамку из толстых линий по краям диапазона
К сообщению приложен файл: 3270271.xlsm (46.3 Kb)


Сообщение отредактировал SanchesLi - Воскресенье, 09.08.2015, 18:05
 
Ответить
СообщениеДобрый день!
Менеджер, на листе "Накладная" - ручками выбирает диапазон, нажимает кнопку "Внести в историю заказов" после чего нужно, что бы выбранный диапазон копировался в лист "История заказов" - реализовано, через копирование строк, а нужно через копирование диапазона, причем копирование должно быть со сдвигом на 2 столбца... ни как не могу разобраться с этим. Так же вопрос о том как назначить скопированному диапазону рамку из толстых линий по краям диапазона

Автор - SanchesLi
Дата добавления - 09.08.2015 в 17:22
KSV Дата: Воскресенье, 09.08.2015, 20:27 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Добрый день!
Весь ваш макрос moveRow() можно было заменить одной строчкой :) [vba]
Код
        ' Копируем строку на листе Invoice, на которой строит курсор
          ' и вставляем ее на лист History последней строкой таблицы
          [A:G].Rows(ActiveCell.Row).Copy .Cells(Rows.Count, 3).End(xlUp).Offset(1)
[/vba]

А то, что вы хотите, можно сделать, например, так:
К сообщению приложен файл: 3753686.xlsm (40.8 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333


Сообщение отредактировал KSV - Воскресенье, 09.08.2015, 22:28
 
Ответить
СообщениеДобрый день!
Весь ваш макрос moveRow() можно было заменить одной строчкой :) [vba]
Код
        ' Копируем строку на листе Invoice, на которой строит курсор
          ' и вставляем ее на лист History последней строкой таблицы
          [A:G].Rows(ActiveCell.Row).Copy .Cells(Rows.Count, 3).End(xlUp).Offset(1)
[/vba]

А то, что вы хотите, можно сделать, например, так:

Автор - KSV
Дата добавления - 09.08.2015 в 20:27
SanchesLi Дата: Понедельник, 10.08.2015, 11:28 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Ваш способ предлагает копировать только по одной строке. Мне же нужно копировать именно выделенный диапазон. Но благодаря Вам я реализовал поставленную задачу. Спасибо!
Вопрос закрыт.

P.S.: дописал строку Paste в конечном варианте это выглядит так: .Paste .Cell(newrow - 3)
 
Ответить
СообщениеВаш способ предлагает копировать только по одной строке. Мне же нужно копировать именно выделенный диапазон. Но благодаря Вам я реализовал поставленную задачу. Спасибо!
Вопрос закрыт.

P.S.: дописал строку Paste в конечном варианте это выглядит так: .Paste .Cell(newrow - 3)

Автор - SanchesLi
Дата добавления - 10.08.2015 в 11:28
KSV Дата: Понедельник, 10.08.2015, 12:08 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
только по одной строке

я ориентировался на ваши комментприи [vba]
Код
' Копируем строку на листе Лист1, на которой строит курсор
[/vba]

Мне же нужно копировать именно выделенный диапазон

Именно так я сделал в другой вашей теме с этим же файлом.


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение
только по одной строке

я ориентировался на ваши комментприи [vba]
Код
' Копируем строку на листе Лист1, на которой строит курсор
[/vba]

Мне же нужно копировать именно выделенный диапазон

Именно так я сделал в другой вашей теме с этим же файлом.

Автор - KSV
Дата добавления - 10.08.2015 в 12:08
SanchesLi Дата: Вторник, 11.08.2015, 08:32 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
В другом варианте все так как надо!!! Супер. Спасибо.!
 
Ответить
СообщениеВ другом варианте все так как надо!!! Супер. Спасибо.!

Автор - SanchesLi
Дата добавления - 11.08.2015 в 08:32
KSV Дата: Вторник, 11.08.2015, 10:35 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
пожалуйста!


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениепожалуйста!

Автор - KSV
Дата добавления - 11.08.2015 в 10:35
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование диапозона со сдвигом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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