簡體   English   中英

Excel VBA在Range中將某些內容設置為ActiveCell.Offset

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM