2017-12-05 2 views
0

特定の項目が選択されたときにマクロを持つスプレッドシートにドロップダウンリストがあります。例えば。 「はい」を選択すると、一部のセルは表示されません。VBA - ワークシートマクロをアクティブにする

この値はVBAを使用して更新しようとしています。 SheetName.Range("OptionDropDown").value = "Yes"

これが実行されている場合でも、ワークシート上のアクティベーションを実行したいだけですが、値を入力するだけですが、シートを隠すためにマクロを実行しません。私は運がないとオートカルカをオン/オフにしようとしました。スプレッドシートに入り、セル上でEnterキーを押すとマクロが機能します

+0

こんにちは、あなたのマクロはシート変更イベントで初期化されていますか? –

+0

こんにちはApurv、あなたは正しいです – user33484

+0

あなたのコードで更新イベントを呼び出さないのはなぜですか? –

答えて

0

ドロップダウンアイテムが変更されるたびにトリガーする必要がある場合は、worksheet_change関数を使用することをお勧めします。

シートVBAページで

(用語が素晴らしいではありません、申し訳ありません!)

sub worksheet_change(ByVal Target as Range) 

if instr(1,target.address,"letter of column effected"),1)>0 then 

    'run code here 
else 
'Do nothing or other stuff 
End if 

これはたびに、セル、このインスタンス内のセルは、ドロップダウンボックスに連結される変更、またはトリガされますセルは、ドロップダウンに基づいて値をプルするように設定されます。

希望します。

+1

INSTR行に1つの開き括弧があり、 '、1)が何であるかはわかりません。 'IF Target.Column = 3'または' IF Target.Address = "$ C $ 3" THEN'を使う方が良いでしょう –

関連する問題