0
私は以下のコードを書いています。レンジ( "AF9:AF50")&範囲(AK9:BI50 ")の範囲を停滞させる代わりに、9行目から始まるコードを実行するダイナミックレンジを実装しようとしています。列。私は、ダイナミックレンジを設定する方法について読んでてきたが、私はそれを動作させることはできません。何かアドバイス/支援が大幅に高く評価される。VBAでダイナミックレンジを設定する
Private Sub Worksheet_Change(ByVal target As Range)
Dim cell As Range
Dim controlRng As Range, nRng As Range
Set cell = Range("AK9:BI50")
Set controlRng = Range("AF9:AF50")
Set nRng = Intersect(controlRng, target)
Application.EnableEvents = False
If Not nRng Is Nothing Then
Select Case target.Value
Case "No Promotion"
target.Offset(, 1).Value = Range("M" & target.Row).Value
target.Offset(, 4).Value = Range("P" & target.Row).Value
target.Offset(, 9).Value = ""
Case "Promotion"
target.Offset(, 1).Value = ""
target.Offset(, 4).Value = ""
target.Offset(, 9).Value = 0.07
Case "Demotion", "Partner", ""
target.Offset(, 1).Value = ""
target.Offset(, 4).Value = ""
target.Offset(, 9).Value = ""
End Select
End If
If Not Application.Intersect(cell, target) Is Nothing Then
Select Case target.Column
Case 37, 39, 43
target.Offset(, 1).Value = target.Value/Range("V" & target.Row).Value
Case 38, 40, 44
target.Offset(, -1).Value = WorksheetFunction.RoundUp((target.Value * Range("V" & target.Row).Value), -2)
Case 41, 60
target.Offset(, 1).Value = WorksheetFunction.RoundUp((target.Value * Range("V" & target.Row).Value), -2)
Case 42, 61
target.Offset(, -1).Value = target.Value/Range("V" & target.Row).Value
End Select
End If
Application.EnableEvents = True
End Sub
こんにちはジャレドを使用ここを見て。私が抱えている問題は、データのラインが変わる可能性があるということです。基本的には、コードを構成して最後の行を特定し、要求されたアクションを最後のデータ行に適用する必要があります。 – Kelsie