有没有办法突出显示整行,将其复制到新位置然后添加新行并重新格式化其原始位置?

Is there a way to highlight the whole row, copy it to a new place then add a new line and reformat its original place?

我在编写代码时遇到了一些初期问题。我对编码比较陌生,不能 100% 理解它,但我通常可以解决它。我正在创建一个事件跟踪器,以便行指示人们可以预订的事件地点,当有人取消时我想显示他们已取消但再次打开插槽以便其他人可以预订。

我在下面的代码中不断收到错误 1004 或错误 242。我想要实现的是,当我按下按钮时,所选单元格将突出显示整行,将其突出显示为红色并在下面插入一个新的空白行,将原始行复制到新的目的地(动态范围的最后一行较低在同一个选项卡上)。

我已经用它摆弄了很多东西(activecell.entire 行布局、setrng= 布局等)所以它可能真的错了而且搞砸了 - 这就是为什么我需要一些帮助来解决它。

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

感觉真的很接近,但我只是错过了最后一点。谢谢

您好,我认为以下代码应该可以帮助您实现目标。

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