1

ドロップダウン メニューで行われた選択に基づいて、セルに隣接するセルにドロップダウン メニューを設定するコードを記述しようとしています。

これは、アクティブなシートのみに適用する必要があり、必ずしもワークブック全体には必要ありません。

VBA でコードを書くのは比較的初めてで、おそらく初歩的なミスですが、まだ助けが必要です!

オブジェクト 'Range' の実行時エラーメソッド 'Value' の取得に失敗しました。

これが私が持っているコードです。ワークブック全体で唯一のコードです...

Private Sub Worksheet_Change(ByVal Target As Range)


Select Case Range("F18")

Case "Made Margin/Made Sales $"
    Worksheets("Store #").Range("G18").value = 
    "Made margin by $XXX GIG at XX.XX%. Shrink  at XX.XX% or $XXX. QTD Margin at 
    XX.XX%"

Case "Made Margin/Missed Sales $"
    Worksheets("Store #").Range("G18").value = 
    "Made margin by $XXX GIG at XX.XX%. Shrink at XX.XX% or $XXX. QTD Margin at XX.XX%   
    Missed sales by $XXX. Begin explaining Sales $ miss here"

Case "Missed Margin/Made Sales$"
    Worksheets("Store #").Range("G18").value = "Missed margin by $XXX GIG at XX.XX%.   
    Shrink at XX.XX% or $XXX. QTD Margin at XX.XX% Made sales by $XXX. Begin explaining   
    Margin $ miss here"

Case "Missed Margin/Missed Sales"
    Worksheets("Store #").Range("G18").value = "Missed margin by $XXX GIG at XX.XX%.  
    Shrink at XX.XX% or $XXX. QTD Margin at XX.XX% Begin explaining Margin $ miss here,  
    followed by explaining Sales $ miss"

End Select

End Sub

どんな助けでも大歓迎です!

4

1 に答える 1

0

F18 が変更されたときにのみイベントをトリガーする条件を追加する必要があります。それから、文字列を 1 行にまとめるか、「_」キーを使用して複数行のコードを示します。また、ケース値ごとに引用符のセットが1つだけであることを確認します。そうしないと、コードが台無しになります。

これを試してみたところ、コードはうまく機能しました。

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("F18")) Is Nothing Then

Select Case Range("F18")

Case "Made Margin/Made Sales $"
    Worksheets("Store #").Range("G18").Value = "Made margin by $XXX GIG at XX.XX%.     Shrink  at XX.XX% or $XXX. QTD Margin at"

 Case "Made Margin/Missed Sales $"
    Worksheets("Store #").Range("G18").Value = "Made margin by $XXX GIG at XX.XX%. Shrink at XX.XX% or $XXX. QTD Margin at XX.XX%. Missed sales by $XXX. Begin explaining Sales $ miss here"

Case "Missed Margin/Made Sales$"
    Worksheets("Store #").Range("G18").Value = "Missed margin by $XXX GIG at XX.XX%. Shrink at XX.XX% or $XXX. QTD Margin at XX.XX% Made sales by $XXX. Begin explaining Margin $ miss here"

Case "Missed Margin/Missed Sales"
    Worksheets("Store #").Range("G18").Value = "Missed margin by $XXX GIG at XX.XX%. Shrink at XX.XX% or $XXX. QTD Margin at XX.XX% Begin explaining Margin $ miss here, followed by explaining Sales $ miss"

End Select

End If

End Sub
于 2013-03-08T02:21:30.947 に答える