Уважаемые форумчане. Заранее прошу прощения за беспокойство. Не могли бы Вы помочь с одним макросом. Голова уже пухнет от информации. Нужно сделать так, чтобы при нажатии на кнопку, определенные условием строки таблицы переносились в таблицу на другом листе. Условие - заполненная ячейка в этой строке, которую надо перенести. Ну и соответственно строка должна быть удалена в исходной таблице
Файлик приложил.
Большое спасибо, если вдруг кто-то решит помочь. Внутри одного листа перенос я освоил кое-как, а вот с другим листом не получается.
Уважаемые форумчане. Заранее прошу прощения за беспокойство. Не могли бы Вы помочь с одним макросом. Голова уже пухнет от информации. Нужно сделать так, чтобы при нажатии на кнопку, определенные условием строки таблицы переносились в таблицу на другом листе. Условие - заполненная ячейка в этой строке, которую надо перенести. Ну и соответственно строка должна быть удалена в исходной таблице
Файлик приложил.
Большое спасибо, если вдруг кто-то решит помочь. Внутри одного листа перенос я освоил кое-как, а вот с другим листом не получается.ZaNuda
Сообщение отредактировал ZaNuda - Вторник, 05.04.2022, 17:20
Sub Перенос() Dim item As Range, LastRow As Long, LastRowRNG As Long, j As Long Dim rng As Range LastRow = Sheets("АРХИВ").Cells(Rows.Count, 1).End(xlUp).Row With Sheets("ПРОДАЖИ") LastRowRNG = .Cells(.Rows.Count, 1).End(xlUp).Row For j = 5 To LastRowRNG If .Cells(j, 10).Value <> "" Then If rng Is Nothing Then Set rng = Rows(.Cells(j, 10).Row) Else Set rng = Union(rng, Rows(.Cells(j, 10).Row)) End If End If Next j If Not rng Is Nothing Then rng.Copy Sheets("АРХИВ").Cells(LastRow + 1, 1) For Each item In rng.Areas item.EntireRow.Delete Next item rng = Nothing End If End With End Sub
[/vba]
код: [vba]
Код
Sub Перенос() Dim item As Range, LastRow As Long, LastRowRNG As Long, j As Long Dim rng As Range LastRow = Sheets("АРХИВ").Cells(Rows.Count, 1).End(xlUp).Row With Sheets("ПРОДАЖИ") LastRowRNG = .Cells(.Rows.Count, 1).End(xlUp).Row For j = 5 To LastRowRNG If .Cells(j, 10).Value <> "" Then If rng Is Nothing Then Set rng = Rows(.Cells(j, 10).Row) Else Set rng = Union(rng, Rows(.Cells(j, 10).Row)) End If End If Next j If Not rng Is Nothing Then rng.Copy Sheets("АРХИВ").Cells(LastRow + 1, 1) For Each item In rng.Areas item.EntireRow.Delete Next item rng = Nothing End If End With End Sub
jun, jun, Большущее спасибо, добрый человек!! Все работает, но есть замечание.
Когда переносишь данные в первый раз, все работает правильно. Но если переносить их повторно, то переписывается только последняя строка в таблице ,а не создается новая. Возможно это исправить?
jun, jun, Большущее спасибо, добрый человек!! Все работает, но есть замечание.
Когда переносишь данные в первый раз, все работает правильно. Но если переносить их повторно, то переписывается только последняя строка в таблице ,а не создается новая. Возможно это исправить?ZaNuda
Сообщение отредактировал ZaNuda - Четверг, 07.04.2022, 06:20