命令按钮将单元格值移动到另一个单元格,没有单元格错误 =#REF

Command button to move cell value to another cell, without cell error =#REF

大家好!

我正在为我的工作做一个 excel 2007 年的项目。我正在尝试构建一个命令按钮以将一个单元格移动到另一个单元格。

Private Sub CommandButton1_Click()
  ActiveSheet.Unprotect Password:="123"
  Select Case MsgBox(Buttons:=vbYesNo + vbQuestion, Prompt:="Are you sure? ")
    Case vbYes
      Range("A2").Cut Range("B2")
    Case vbNo
  End Select
  ActiveSheet.Protect Password:="123"
  ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

这是我当前的 VBA 代码,用于从一个单元格剪切和粘贴到另一个单元格。

但现在我每次按下命令按钮时都会遇到另一个问题。请帮我解决这个问题。

这是我项目的默认视图。在单元格中,A2 的 SUM 范围为 A4:A8,单元格 D2 为 =A2,E2 为 =B2

点击按钮后出现问题:

如您所见,D2 应该是 =A2 现在更改为 =B2 & E2 应该是 =B2 但是现在 =#REF! 错误。

我找不到解决这个问题的方法,所以请帮我解决这个问题。

如果您想在 B2 中保留 SUM 公式而不仅仅是值,您可以改用此公式:

Range("A2").Copy Range("B2")
Range("A2").ClearContents

同时更新公式以使用 $

=SUM($A:$A)

这是 2 个命令按钮的 VBA 代码:

  • 我已经制作了第二个按钮来重置第一个命令

.

Private Sub CommandButton1_Click()
  ActiveSheet.Unprotect Password:="123"
  Select Case MsgBox(Buttons:=vbYesNo + vbQuestion, Prompt:="Are you sure? ")
    Case vbYes
    ActiveSheet.Unprotect Password:="123"
        Range("A2").Copy Range("B2")
        ActiveSheet.Unprotect Password:="123"
        Range("A2").ClearContents
    Case vbNo
  End Select
  ActiveSheet.Protect Password:="123"
  ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

Private Sub CommandButton2_Click()
  ActiveSheet.Unprotect Password:="123"
  Select Case MsgBox(Buttons:=vbYesNo + vbQuestion, Prompt:="Are you sure? ")
    Case vbYes
    ActiveSheet.Unprotect Password:="123"
        Range("B2").ClearContents
        ActiveSheet.Unprotect Password:="123"
        Range("A2").Value = Application.Sum(Range("$AV,$AX,$AZ"))
    Case vbNo
  End Select
  ActiveSheet.Protect Password:="123"
  ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

谢谢大家帮助我。如果我错过了这段代码的某些内容,请告诉我。塔肯斯