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

Вход

Регистрация

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

 

= Мир MS Excel/Поменять код Макрос - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поменять код Макрос (Макросы/Sub)
Поменять код Макрос
Excel Дата: Пятница, 10.10.2014, 15:36 | Сообщение № 1
Группа: Гости
Добрый день.
Есть прописанный макрос который поволяет копировать и вставлять данные в офильтрованные строки. Но проблема в том, что при вставке он отвязывает ячейки от формул. Можно ли сделать так чтобы ячейки оставались с теми же формулами которе быи взяты при копирование?

Sub PasteToVisible()
Dim copyrng As Range, pasterng As Range
Dim cell As Range, i As Long

'запрашиваем у пользователя по очереди диапазоны копирования и вставки
Set copyrng = Application.InputBox("Диапазон копирования", "Запрос", Type:=8)
Set pasterng = Application.InputBox("Диапазон вставки", "Запрос", Type:=8)

'проверяем, чтобы они были одинакового размера
If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <> copyrng.Cells.Count Then
MsgBox "Диапазоны копирования и вставки разного размера!",vbCritical
Exit Sub
End If

'переносим данные из одного диапазона в другой только в видимые ячейки
i = 1
For Each cell In pasterng
If cell.EntireRow.Hidden = False Then
cell.Value = copyrng.Cells(i).Value
i = i + 1
End If
Next cell
End Sub
[moder]Можно. Наверное. Если Вы прочитаете Правила форума и приложите файл. И назовете тему нормально.
Эта тема закрыта
 
Ответить
СообщениеДобрый день.
Есть прописанный макрос который поволяет копировать и вставлять данные в офильтрованные строки. Но проблема в том, что при вставке он отвязывает ячейки от формул. Можно ли сделать так чтобы ячейки оставались с теми же формулами которе быи взяты при копирование?

Sub PasteToVisible()
Dim copyrng As Range, pasterng As Range
Dim cell As Range, i As Long

'запрашиваем у пользователя по очереди диапазоны копирования и вставки
Set copyrng = Application.InputBox("Диапазон копирования", "Запрос", Type:=8)
Set pasterng = Application.InputBox("Диапазон вставки", "Запрос", Type:=8)

'проверяем, чтобы они были одинакового размера
If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <> copyrng.Cells.Count Then
MsgBox "Диапазоны копирования и вставки разного размера!",vbCritical
Exit Sub
End If

'переносим данные из одного диапазона в другой только в видимые ячейки
i = 1
For Each cell In pasterng
If cell.EntireRow.Hidden = False Then
cell.Value = copyrng.Cells(i).Value
i = i + 1
End If
Next cell
End Sub
[moder]Можно. Наверное. Если Вы прочитаете Правила форума и приложите файл. И назовете тему нормально.
Эта тема закрыта

Автор - Excel
Дата добавления - 10.10.2014 в 15:36
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поменять код Макрос (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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