如何仅对Excel电子表格中的特定列禁用填充句柄?

如何仅对Excel电子表格中的特定列禁用填充句柄?,excel,vba,Excel,Vba,我有一个有多列的电子表格,其中一些包含带有下拉列表的单元格。 我想禁用填充句柄功能,在该功能中,您可以通过从单元格的一角向下拖动“+”符号来倍增单元格数据。 我之所以这样做,是因为我在特定列中的下拉列表由该行中的id以不同方式填充,我希望避免错误的数据插入。 我已经找到了如何对整个电子表格执行此操作的方法,但我找不到将此应用于单个列的方法。简单回答您不能。不可能仅对特定单元格禁用此功能 实际上如果你在Excel选项中禁用它 Application.CellDragAndDrop = False

我有一个有多列的电子表格,其中一些包含带有下拉列表的单元格。 我想禁用填充句柄功能,在该功能中,您可以通过从单元格的一角向下拖动“+”符号来倍增单元格数据。 我之所以这样做,是因为我在特定列中的下拉列表由该行中的id以不同方式填充,我希望避免错误的数据插入。
我已经找到了如何对整个电子表格执行此操作的方法,但我找不到将此应用于单个列的方法。

简单回答您不能。不可能仅对特定单元格禁用此功能

实际上如果你在Excel选项中禁用它

Application.CellDragAndDrop = False

对于整个Excel应用程序,它将被禁用。

即使您可以,它也不会有任何好处,因为有人可以在该范围内粘贴。。。备选方案:您可以在
工作表\u Change
事件中处理该问题并将其撤消?@SiddharthRout我不想保护单元格/列。这些是下拉单元格,我只想允许从下拉列表选项中插入/更改数据。谢谢。在
工作表\u Change
事件中处理它,就像我提到的Baovie一样。如果您需要提示,那么很明显,您可以看到该链接谈到“特殊粘贴”,但是您可以看到如何处理撤消堆栈以及如何“粘贴”和“自动填充”“被困住了。如何将您的答案与
工作表\u selection change
结合起来?”?OP可以检查
Target
是否在特定列中,如果为true,则
Application.celldragandrop=False
。。。我会把它贴出来,但我想看看你的答案,所以实际上这个想法是你的LoL@FoxfireAndBurnsAndBurns我已经考虑过了。我的想法是:因为它会影响整个应用程序,所以将其设置为
True
会很混乱。例如,如果您有多个工作簿和工作表,则需要将其设置为
True
,如果它切换。虽然您可能可以通过多个事件来处理该问题,但无法阻止将单元格拉入目标区域(从目标区域外部)。由于所选内容不在目标范围内,因此我们无法停用拖放操作,但仍会将单元格拖放到目标范围内(应受到保护)。