对于你们来说这可能是非常基本的,但我刚开始在Excel中使用VBA,尽管我对功能背后的逻辑非常了解,但我似乎无法找到我想要的东西......
这是我的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A4:A27")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Dim myValue As Variant
myValue = InputBox("Indiquer la quantité", "Quantité")
Range("C4").Value = myValue
If Cells("4", "C") > 1 Then
MsgBox (myValue & " produits sélectionnés")
End If
If Cells("4", "C") < 1 Then
End If
End If
基本上我的文档是一个表,您可以在另一个范围内选择一个单元格(“A4:A27”)。我希望我的InputBox的结果进入Offset单元格(0,2)。我设置“C4”以便我不会得到任何错误,但显然当我选择A5时,我的结果仍然在C4中,当我希望它进入C5时....
使用的功能是什么?
寻求答案
答案 0 :(得分:0)
我认为您需要使用Target
单元格。这会做你想要的吗?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A4:A27")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Dim myValue As Variant
myValue = InputBox("Indiquer la quantité", "Quantité")
Range("C" & Target.Row).Value = myValue
If Cells(Target.Row, "C") > 1 Then
MsgBox (myValue & " produits sélectionnés")
End If
If Cells(Target.Row, "C") < 1 Then
End If
End If