如何防止数据验证列单元格中的复制和粘贴

时间:2014-08-11 11:46:05

标签: excel vba excel-vba

我正在开发excel VBA。我将数据库数据绑定到excel下拉列表中。

就像我有约束力的英语,法语,德语和#39;语言到excel动态下拉。

现在我的问题是每当我尝试从其他工作表或其他Excel文件复制数据然后粘贴到单元格时,复制的值会成功粘贴到特定单元格上。 特定单元格正在丢失数据验证功能。

这里我需要让特定的数据验证列防止复制和粘贴未列在数据列表中的其他值,如下所示。

正如我所说,我具有约束力,英语,法语,德语等。但是当我试图复制“西班牙语”时,西班牙语'已成功粘贴到粘贴的单元格中。现在我不想将其他值粘贴到我的单元格中。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

复制范围并执行Application.Paste后,所有复制的单元格属性也会被覆盖到目标单元格。因此,如果复制的单元格没有验证,则目标单元格将失去其验证规则。

您只需要将单元格的值复制到目标单元格,这意味着您要保留所有其他属性,例如格式化,验证等。

在这种情况下,您应该PasteSpecial并仅粘贴值

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False