Excel 此选择无效。确保复制和粘贴区域不重叠

Excel 此选择无效。确保复制和粘贴区域不重叠,excel,vba,Excel,Vba,继续获取代码插入行标题中提到的错误。代码的剪切行和插入行似乎大小相同。我盯着这东西看了好几个小时了。我不知道我把事情搞砸了 Sub Worksheet_Change(ByVal Target As Range) 'convert communites by status If Not Intersect(Target, Range("H1:H1000")) Is Nothing Then If Cells(Target.Row, 8) = "Takedown" Then Range(Targe

继续获取代码插入行标题中提到的错误。代码的剪切行和插入行似乎大小相同。我盯着这东西看了好几个小时了。我不知道我把事情搞砸了

Sub Worksheet_Change(ByVal Target As Range)
'convert communites by status

If Not Intersect(Target, Range("H1:H1000")) Is Nothing Then
If Cells(Target.Row, 8) = "Takedown" Then
Range(Target.EntireRow, Target.Offset(13, 0).EntireRow).Cut
Sheets("AIKEN.AUGUSTA-TAKEDOWN").Range(Range("A12").EntireRow, 
 Range("A25").EntireRow).Insert
 Range("B12:B25").Interior.ColorIndex = 3
 Range("C13").Select

End If
End If

End Sub
预期结果:行范围从图纸的一个部分剪切,并插入到图纸的不同区域

实际结果:插入代码行时出错。

尝试以下操作:

Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range

    If Target.CountLarge > 1 Then Exit Sub 
    Set rng = Application.Intersect(Target, Me.Range("H26:H1000"))

    If Not rng Is Nothing Then            
        If Cells(rng.Row, 8) = "Takedown" Then
            Application.EnableEvents = False '<< don't re-trigger on Cut
            Range(rng.EntireRow, rng.Offset(13, 0).EntireRow).Cut
            Me.Range("A12:A25").EntireRow.Insert
            Application.EnableEvents = True  '<< re-enable events
            Me.Range("B12:B25").Interior.ColorIndex = 3
            Me.Range("C13").Select
        End If
    End If

End Sub

那么变更事件处理程序在表AIKEN.AUGUSTA-TAKEDOWN中?因此,如果我将Takedown放在eg H12中,它将从那里剪切,然后将其插入相同的位置?有一个数据验证单元格,其中有一个选定的列表,如果选择Takedown,则行将被剪切并移动到同一工作表的另一部分。问题出在图纸上。请插入行。它不断地抛出错误。我已经删除了insert并将其替换为select,没有任何错误。我不知道为什么Insert命令会有这么大的问题。移动到同一张图纸的另一部分-但是如果我在eg H12上输入Takedown,它不会剪切数据并尝试将其粘贴回同一位置吗?Takedown部分在图纸的顶部,另一部分在底部。行将被剪切并插入到列表的顶部。我知道这是初步的。距离目标。偏移量。。。行是动态的,但由于它总是在列表顶部插入单元格,所以我使用了绝对引用。所以在本例中,数据验证单元位于第80行,我需要它剪切14行,这些行构成一组信息,并将其移动到从第12行开始的工作表顶部。好的,我正在查看H1:H1000,并假设您的代码应用于整个工作表。。。