[英]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.