【发布时间】:2019-05-28 12:08:19
【问题描述】:
我必须将 2 个单元格(引用或值)从一个子单元传递到另一个子单元,以便将第一个单元格中的值复制并粘贴到另一个单元格。 由于多个单元格组合需要它,我想通过将单元格(引用或值)从一个子例程传递到另一个来完成。
我已经尝试了以下代码以及与 Byref 和 ByVal 选项的组合。但无法得到想要的结果。 本质上,在下面的代码中,单元格 E1792 中存在的任何值都应以值和数字格式复制粘贴到 C1799。
Private Sub Copy_Val(ByRef CopyFrom As Range, ByRef PasteTo As Range)
Application.ScreenUpdating = False
Range(CopyFrom).Select
Selection.Copy
Range(PasteTo).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End Sub
Sub Apply_Filter()
Dim CpFrm As Range
Dim PstTo As Range
Set CpFrm = Range("E1792")
Set PstTo = Range("C1799")
Call Copy_Val(CpFrm, PstTo)
End Sub
有时我会收到类型不匹配错误,有时还会收到“400”错误。 预期输出是单元格 E1792 中存在的单元格值应以值和数字格式复制粘贴到 C1799。
任何解决此问题的帮助将不胜感激。
【问题讨论】:
-
记住,你总是需要为每个范围对象指定工作簿和工作表