excel 调用单元格值并替换它

xzlaal3s  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(166)

附件中的照片是我正在使用的电子表格。我有一个用户表单,它接受一个我定义为"case"的spinbutton值。我可以让代码接受spinbutton值,并从我想要的单元格中减去它,但是它从0中减去它,而不是从单元格中已经存在的原始值中减去。例如,我想从单元格C9中减去5,但得到的不是300 - 5 = 295,而是-5。
这是我的代码:

For i = 1 To 5
        For j = 1 To 6
            'If inventorysheet.Cells(inventoryrow, 1).Value = ComboBox1 And inventorysheet.Cells(inventoryrow, 2).Value = ComboBox2 And inventorysheet.Cells(inventoryrow, 3).Value = s Then
                currentinventory = Sheets("Inventory").Range("C" & (7 * k - 2)).Cells(i, j).Value
                Exit Do
            'End If
        Next
    Next
    
    'inventoryrow = inventoryrow + 1
Loop

Sheets("Inventory").Range("C" & (7 * k - 2)).Cells(i, j) = Sheets("Inventory").Range("C" & (7 * k - 2)).Cells(i, j) - cases

为了澄清的目的,k选项按钮值,ij是组合框索引,我不相信这些会给我带来任何问题。
我不知道如何让代码从单元格中取出原始值,它总是从0中减去。

9bfwbjaz

9bfwbjaz1#

只是跟进一下。我意识到我把事情弄得过于复杂了,最后解决了。这就是最后起作用的方法。结果发现我以前做的甚至都不是正确的事情。也谢谢GSerg的评论,它让我意识到了我的错误。

'Check the current inventory level
With Sheets("Inventory")  
    currentinventory = Sheets("Inventory").Range("C" & (7 * k - 2)).Cells(i, j).Value  
    newinventory = currentinventory - cases  
'Update the inventory level
    inventorysheet.Range("C" & (7 * k - 2)).Cells(i, j).Value = newinventory  
End With

相关问题