Страницы: 1
RSS
Перенос строки с активной ячейкой на другой лист, ошибка "run-time error '1004'"
 
Друзья,
на новом excel вроде работало, сделал старый Excel и макрос перестал отрабатывать как прежде.
Код
Sub macros()
    Application.ScreenUpdating = False
    FinalRow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(x1Up).Row
    Sheets("Sheet1").Cells(ActiveCell.Row, 1).EntireRow.Cut Destination:=Sheets("Sheet2").Cells(FinalRow + 1, 1)
    Worksheets("Sheet1").Cells(ActiveCell.Row, 2).EntireRow.Delete
    Application.ScreenUpdating = True
End Sub

Как по макросу можете увидеть, суть в том, что я на первой странице выбираю любую ячейку.
Макрос выделяет строку, вырезает и вставляет её на соседнюю вкладку. Возвращается в старую и удаляет активный диапозон (строку).

Помогите, пожалуйста, разобраться. Спасибо!
Изменено: vokushna - 07.06.2020 19:19:37
 
Не вините Excel в Ваших ошибках :)
x1Up - не могла такая константа работать раньше

Чтобы избавить себя от подобных казусов, в начале модуля впишите оператор Option Explicit и объявляйте все переменные
 
vokushna,  что за безобразное цитирование? Да ещё дважды. Там вообще без цитирования можно обойтись.
И Вам действительно нужно переносить все  16 384 ячейки?
Код
Sub qqq()
Dim FreeRow As Long
    With Sheets("Лист2")
        FreeRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        Rows(ActiveCell.Row).Cut .Cells(FreeRow, 1)
        Rows(ActiveCell.Row).Delete
    End With
End Sub
 
Цитата
vikttur написал:
Не вините Excel в Ваших ошибках
Всегда виню себя, сколько в excel чего-либо не получалось, всегда находились ошибки)

Цитата
Юрий М написал:
И Вам действительно нужно переносить все  16 384 ячейки?
Нет, конечно только 1 строку "перенести" в соседнюю вкладку. Почему-то та же самая ошибка и при Вашем коде... хм
 
Цитата
vokushna написал:
Нет, конечно только 1 строку "перенести
А сколько ячеек в ОДНОЙ строке?
 
Активных 9
 
vokushna, ещё одна такая бездумная цитата, и  я закрою тему!
Запомните: кнопка цитирования не для ответа! Вернитесь в своё сообщение и исправьте. Затем продолжим.
 
Привет!
Цитата
vikttur написал:
x1Up - не могла такая константа работать раньше
vokushna, В коде первого сообщения замените x1Up на xLUp
Сравнение прайсов, таблиц - без настроек
 
Юрий М, нашел корректную кнопку для ответов, но как вставить ответ в старое сообщение, увы, не разобрался.
Inexsu, воу, очень глупая ошибка. На моем ПК "l" и "1" выглядят почти одинаково, данную перемену по подобию использую в простых макросах. Прошлый комментарий сразу и не понял от vikttur,.  Спасибо, все оказалось предельно просто.

Буду дальше разбираться в понимании того, что пишу..)  
 
vokushna, про эту ошибку (единица вместо l) Вам Виктор ещё в #2 написал.

Цитата
vokushna написал:
Активных 9
Не бывает 9 активных ячеек. Активная может быть только одна. А вот выделенных может быть и 9.

Если Вам нужно перенести на другой лист всего 9 ячеек, то зачем же Вы переносите ВСЮ, строку? Я и спрашивал про 16 384 ячеек - именно столько Вы пытаетесь свои кодом вырезать.
Страницы: 1
Наверх