更新单元格中的值

Updating values in cells

我正在努力弄清楚如何使用最终用户将使用 Application.InputBox 输入的值来更新给定单元格中的数字值。我知道代码中存在明显的错误,但由于我是 excel VBA 的新手,我的调试技巧还不成熟,我不知道如何修复它们。这是我目前所拥有的:

Sub UpdateLinen()

Dim NewLinen As Integer
Dim InputBoxResult As Integer
Dim ExistingValue As Integer
Dim NewValue As Integer

    NewLinen = Application.InputBox(Prompt:="How many new Linen Bandages are being added?", Type:=1)
    NewLinen = InputBoxResult

    ExistingValue = Range("B4").Value
    NewValue = Application.WorksheetFunction.Sum(ExistingValue + InputBoxResult)
    Range("B4").Value = NewValue

End Sub

Range("B4") 在单元格中已经有一个数字值,这里的想法是最终用户将单击一个按钮(我将在完成后将宏分配给该按钮)并输入一个数值,该数值将添加到 Range("B4") 中的数值,以为该单元格提供新的数值。此外,我想编写代码,以便最终用户可以 return 并根据需要多次更新该单元格中的数字值,只需单击按钮宏并输入一个值即可。

这里评论很少:

  • 宁愿使用 Long 数据类型值而不是 Integer(防止溢出问题的好习惯)
  • 你不需要WorksheetFunction.Sum在这里添加这些值
  • 您正在用 NewLinen = InputBoxResult
  • 直接覆盖用户的输入
  • 我知道你说过会有一个按钮,但我喜欢至少有一个明确的工作表引用的习惯。
  • 此外,把逻辑写成多行没有错,但是这个操作真的没什么花哨和困难,为什么不写成一行呢?

我可以推荐类似的东西吗:

Sub UpdateLinen()

Dim NewLinen As Long
Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Blad1")

NewLinen = Application.InputBox(Prompt:="How many new Linen Bandages are being added?", Type:=1)
ws.Range("B4") = ws.Range("B4") + NewLinen

End Sub