[英]Excel VBA set something in Range as ActiveCell.Offset
这对你们来说可能是非常基本的,但是我刚刚开始在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的结果进入“偏移”单元格(0,2)。 我设置了“ C4”,这样我就不会出现任何错误,但是很明显,当我选择A5时,如果我希望它在C5中运行,我的结果仍然会在C4中出现。
使用什么功能?
寻求答案
我认为您将需要使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.