Есть ли способ выделить весь ряд, скопировать его на новое место, затем добавить новую строку и переформатировать исходное место? - PullRequest
0 голосов
/ 03 января 2019

У меня несколько проблем с прорезыванием текста, который я пишу.Я относительно новичок в кодировании и не понимаю его на 100%, но я обычно могу решить это.Я создаю трекер событий, чтобы в строках было указано место события, на которое люди могут забронировать, когда кто-то отменяет, я хочу показать, что они отменены, но снова откройте слот, чтобы кто-то другой мог забронировать.

Я получаю либо ошибку 1004, либо ошибку 242 с кодом ниже.То, чего я пытаюсь добиться, - это когда я нажимаю кнопку, выбранная ячейка выделяет всю строку, выделяет ее красным и вставляет новую пустую строку ниже, копирует исходную строку в новое место назначения (последняя строка динамического диапазона нижевниз на той же вкладке).

Я уже поиграл с нагрузками (alyouts строки activecell.entire, setrng = layouts и т. Д.), Так что это, вероятно, действительно неправильно и испорчено - поэтому мне нужна некоторая помощь, чтобы разобраться с этим.

Sub CANCEL()
Dim rgCopy As Excel.Range
Set rgCopy = Range(Range("A" & ActiveCell.Row), Range("IV" & 
ActiveCell.Row).End(xlToLeft)).Select 
rgCopy.Copy (Range("_cancel3").End(xlDown).Offset(1, 0))


ActiveCell.EntireRow.Interior.ColorIndex = 3
ActiveCell.EntireRow.Insert Shift:=xlShiftDown
ActiveCell.EntireRow.Interior.ColorIndex = 2
ActiveCell.EntireRow.ClearContents

Selection.Insert Shift:=xlShiftDown

End Sub

Это кажется очень близким, но я просто упускаю этот последний бит.Thankyou

1 Ответ

0 голосов
/ 03 января 2019

Привет, я думаю, что следующий код должен помочь вам в достижении вашей цели.

Sub CANCEL()
 Dim rgCopy As Range
 Set rgCopy = Range("A" & ActiveCell.Row & ":IV" & ActiveCell.Row)
 Dim dynamicRange As Range
 Set dynamicRange = Range("A20")
 rgCopy.Copy
 dynamicRange.PasteSpecial xlPasteAll
 rgCopy.EntireRow.Interior.ColorIndex = 3
 rgCopy.Offset(1, 0).EntireRow.Insert xlShiftDown
 rgCopy.Offset(1, 0).ClearFormats
 rgCopy.ClearContents

End Sub
...