I made a macro that computes the STDEV of a selection and puts it in the status bar, and so is called whenever the selection is changed.但是,当我复制一个范围时,它具有阻止我在任何地方粘贴值的意外效果。我可以复制,但是当我单击其他位置粘贴时,粘贴按钮变为灰色,并且我失去了选择。
如何取回我的糊状物?最好通过更改宏而不是添加新宏。
这是代码:
Public st As Double
Public rng as Range
Sub stdev()
On Error Resume Next
st = Application.WorksheetFunction.stdev(rng)
If Err.Number <> 0 then
st = 0
End If
Application.DisplayStatusBar = True
Application.StatusBar = "Stdev: " & st
End Sub
然后:
Private Sub Worksheet_SelectionChange(ByVal Target as Range)
Set rng = Target
Call stdev
End Sub
最佳答案
如果你改变了怎么办
Private Sub Worksheet_SelectionChange(ByVal Target as Range)
Set rng = Target
Call stdev
End Sub
至
Private Sub Worksheet_SelectionChagne(ByVal Target as Range)
If Application.CutCopyMode = 1 Then Exit Sub
Set rng = Target
Call stdev
End Sub
当您复制和粘贴某些内容时,这应该绕过您的子例程,而无需添加更多代码。
关于vba - Excel VBA 阻止我粘贴值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37794923/