Excel 有一个功能,可以已移动如果你将鼠标悬停在数据选择轮廓的边缘,然后单击鼠标左键并拖动。为了清楚起见,我不是谈论数据可以扩展通过拖动选择右下角稍大的绿色方块。
例如,我可以从右下角以外的任何位置抓住这个绿色轮廓,并将这些数字拖到其他地方:
例如我可以将它们拖到下一行:
如果我尝试将它们拖到现有数据上,就会出现警告,提示它们将替换现有数据:
(抱歉,Windows Snip 没有显示鼠标,这会使这一点更清楚)
问题是,在大约 20 年的大量使用 Excel 的过程中,我已经绝不我使用过这个功能,但最近不知为何,我发现我经常在浏览电子表格时意外调用它。我不知道这是否与鼠标按钮的灵敏度有关,还是与电子表格中数据量的排列有关,但它确实让我很烦。我不得不每天多次取消确认。
我的问题是,有没有办法可以完全禁用拖动移动数据功能?所以你唯一能做的就是扩张数据。
谢谢。
答案1
尝试以下宏(在工作表模块中):
Dim sel As String
Dim stopundo As String
Dim tc As Double
Private Sub Worksheet_Change(ByVal Target As Range)
Application.AlertBeforeOverwriting = False
Application.EnableEvents = False
If stopundo <> "N" Then
tc = Target.CountLarge
stopundo = "N"
ElseIf Target.Address <> sel And Target.CountLarge = tc Then
MsgBox "cannot drag-and-drop"
stopundo = "Y"
Application.Undo
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If TypeName(Selection) = "Range" Then
sel = Selection.Address
tc = Selection.CountLarge
End If
End Sub
如果您想要Cut
和Paste
某些单元格,则必须选择大于或小于源范围的目标范围。