Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Копирование значений с одного листа на другой МАКРОС
 
Друзья, добрый день!

Не хватает знаний разобраться самому, прошу помочь с макросом копирования данных с одного листа на другой.
Проблема в том, что он вставляет формулы, а мне на втором листе нужны значения. Заранее признателен за помощь.
Текст макроса:

Код
Sub Копирование_данных()
   
    
    Dim lr
    With Sheets("Журнал проведения настройки")
        lr = .Cells(65536, 2).End(xlUp).Row + 1
           .UsedRange.Clear
    End With
    
    With Sheets("Приглашение").Range("a2").CurrentRegion                  ' первая строка  копирования
'        .Columns("H:I").Hidden = -1                                        ' столбцы которые необходимо скрыть
        .AutoFilter 6, "Приглашен"                                        ' Фильтр базового значения
        If lr = 4 Then
            .Copy Sheets("Журнал проведения настройки").Range("a2")             ' с какой ячейки вставляем во второй лист
        Else
       
            .Offset(1).Copy Sheets("Журнал проведения настройки").Range("a" & lr)
            .Parent.AutoFilterMode = 0

        End If
        
        
    End With

End Sub
Изменено: Strizh - 25 Июл 2019 13:46:43
 
или после копирования:
Sheets("Журнал проведения настройки").Range("a2").Value = Sheets("Журнал проведения настройки").Range("a2").Value
...
Sheets("Журнал проведения настройки").Range("a" & lr).Value = Sheets("Журнал проведения настройки").Range("a" & lr).Value

Или почитать о PasteSpecial
 
К сожалению, не получилось запустить эти строчки. Макрос остановился с ошибкой.
Вы сможете посмотреть макрос в файле? Он во втором модуле
Запускается с Листа "Приглашение"


p.s. случайно выложен файл с защитой от просмотра, перезалил файл
Изменено: Strizh - 25 Июл 2019 14:59:44
 
Strizh, конечно могу в запароленном проекте...
Не хочу Вас огорчать, то такая защита снимается в 2 секунды....
 
Ivan.kh, прошу прощения, перезалил файл в предыдущем сообщении.
Защиту ставлю по привычке, еще со школы пошло)
 
Sheets("Журнал проведения настройки").Range("2:2").Value = Sheets("Журнал проведения настройки").Range("2:2").Value
Sheets("Журнал проведения настройки").Range(lr & ":" & lr).Value = Sheets("Журнал проведения настройки").Range(lr & ":" & lr).Value

через PasteSpecial лень писать
 
Ivan.kh, уточните пожалуйста, куда это нужно вставить этот код?

Я вставил после .Offset и успешно заменяются значения только у одной строки, но если идет множественное копирование, то строки вставляются формулами начиная со второго значения.

Код
Sub Копирование_данных()
     
    Dim lr
    With Sheets("Журнал проведения настройки")
        lr = .Cells(65536, 2).End(xlUp).Row + 1
          
    End With
    With Sheets("Приглашение").Range("a2").CurrentRegion                  ' первая строка  копирования
'        .Columns("H:I").Hidden = -1                                        ' столбцы которые необходимо скрыть
        .AutoFilter 6, "Приглашен"                                        ' Фильтр базового значения
        If lr = 4 Then
            .Copy Sheets("Журнал проведения настройки").Range("a2")
            
            
            ' с какой ячейки вставляем во второй лист
        Else

            .Offset(1).Copy Sheets("Журнал проведения настройки").Range("a" & lr)
            Sheets("Журнал проведения настройки").Range("2:2").Value = Sheets("Журнал проведения настройки").Range("2:2").Value
            Sheets("Журнал проведения настройки").Range(lr & ":" & lr).Value = Sheets("Журнал проведения настройки").Range(lr & ":" & lr).Value
            
            
            .Parent.AutoFilterMode = 0
        End If
         
    End With
 
End Sub



Перепробовал кучу вариантов, но к сожалению, не смог запустить.
Изменено: Strizh - 25 Июл 2019 14:45:54
 
Плохо разбираюсь в макросах. Попробовал все возможные комбинации, ничего не получилось.
Ivan.kh,  Вы сможете помочь?
Изменено: Strizh - 25 Июл 2019 15:38:37
 
Скопировали , затем вставляете только значения
Код
.Copy 
Sheets("Журнал проведения настройки").Range("a2").PasteSpecial xlPasteValues
и дальше также
 
Kuzmich, заработало, спасибо!
Страницы: 1
Читают тему (гостей: 1)
Наверх