我希望你能帮助我做到这一点。
我需要一个VBA代码,该代码可以上下移动具有已激活单元格的行。第二列应冻结不动。
数据看起来像Data excel 优先级应该冻结,其余的应该上下移动。
我有这段代码,但是它移动了整行。
Sub MoveDown()
Selection.EntireRow.Select
Selection.Cut
ActiveCell.Offset(2, 0).Range("A1").Select
Selection.EntireRow.Select
Selection.Insert Shift:=xlDown
ActiveCell.Offset(-1, 0).Range("A1").Select
End Sub
Sub MoveUp()
Selection.EntireRow.Select
Selection.Cut
ActiveCell.Offset(-1, 0).Range("A1").Select
Selection.EntireRow.Select
Selection.Insert Shift:=xlDown
End Sub
先谢谢您。 最好
答案 0 :(得分:2)
在B列中无需更改公式:
Public Sub moveRowUp()
If Selection.row <> 2 Then
'move the whole row
Selection.EntireRow.Cut
Selection.Offset(-1, 0).EntireRow.Insert shift:=xlDown
'move column 2 back
Selection.EntireRow.Cells(1, 2).Cut
Selection.EntireRow.Cells(1, 2).Offset(-1, 0).Insert shift:=xlDown
End If
End Sub
Public Sub moveRowDown()
If Selection.row <> 1 Then
'move the whole row
Selection.EntireRow.Cut
Selection.Offset(2, 0).EntireRow.Insert shift:=xlDown
'move column 2 back
Selection.EntireRow.Cells(1, 2).Cut
Selection.EntireRow.Cells(1, 2).Offset(2, 0).Insert shift:=xlDown
End If
End Sub