Добрый день. Есть прописанный макрос который поволяет копировать и вставлять данные в офильтрованные строки. Но проблема в том, что при вставке он отвязывает ячейки от формул. Можно ли сделать так чтобы ячейки оставались с теми же формулами которе быи взяты при копирование?
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