2017-12-01 8 views
0

これはおそらくあなたにとって非常に基本的ですが、ExcelのVBAを使用し始めたばかりですが、機能の背後にある論理をかなりよく理解しています私はここで...Excel VBAはActiveCell.Offsetとして範囲内に設定されています

を探していますものを見つけるためには、私のコードです:(「:A27 A4」)

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 

基本的に私のドキュメントは、範囲内の他の後に一つのセルを選択するには、表です。私は自分のInputBoxの結果をオフセットセル(0,2)に入れたい。私は "C4"を設定してエラーが出ないようにしましたが、明らかにA5を選択してもC5に入っても結果はC4になります。

使用する機能は何ですか?

Thksは答え

答えて

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 
関連する問題