复制和粘贴代码不会从我正在复制的单元格中复制数据验证格式

时间:2019-03-25 16:44:46

标签: excel vba

我正在尝试使用VBA复制和粘贴数据,并在单元格中维护数据验证,但是我的代码给了我错误。

这就是我所拥有的

Sheets("INITIAL").Activate
Range("aa8:ah8").Copy
Sheets("SERVICES BREAKDOWN").Activate
Range("aa8:ah8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Paste:=xlPasteValidation, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

Paste:=xlPasteValidation提供了错误;我尝试删除重复的“粘贴:”和“粘贴验证”为“ DataVAlidation”,但没有成功。

2 个答案:

答案 0 :(得分:1)

两个步骤:

Sheets("INITIAL").Range("aa8:ah8").Copy

With Sheets("SERVICES BREAKDOWN").Range("aa8:ah8")
    .PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, _
                  SkipBlanks:=False, Transpose:=False
    .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                  SkipBlanks:=False, Transpose:=False
End with

答案 1 :(得分:0)

缩短此过程...使用数据验证表复制/粘贴将A)保留值,B)保留数据验证:

Sheets("INITIAL").Range("aa8:ah8").Copy Sheets("SERVICES BREAKDOWN").Range("aa8:ah8")

只需一行代码即可。


如果只需要值,则没有数据验证表:

Sheets("SERVICES BREAKDOWN").Range("aa8:ah8").value = Sheets("INITIAL").Range("aa8:ah8").value