用户自定义粘贴特殊function

Function PS(X As Range) As Double Range(X).Select Selection.Copy Range(X).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False End Function 

我正在尝试创build一个函数PS,它从单元格中获取值,并在使用PS函数的单元格中进行特殊粘贴。 上面的代码没有给出所需的值。

你需要的第一件事是获得你select的范围的值的函数。 把它放在一个新的模块中

 Function Hardcode(r As Range) Hardcode = r.Value End Function 

例如:将=Hardcode(A1)放入单元格B1返回单元格A1的值。 但是,从我的理解,你也想硬编码B1的新价值。 要做到这一点,你需要一个单独的Sub

将此代码放置在工作表模块对应于您希望使用上述function的工作表中:

 Private Sub Worksheet_Change(ByVal Target As Range) If InStr(LCase(Target.Formula), "hardcode") Then Target.Value = Target.Value End If End Sub