Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


30553 / 76738 ←次へ | 前へ→

【51450】Re:change イベント
発言  ichinose  - 07/9/18(火) 20:27 -

引用なし
パスワード
   もとあし さん、Jaka さん、こんばんは。
>
>ありがとうございます。
>>>マクロでの入力はワークシートチェンジイベントは無効なのでしょうか。
>>そんなことは無いです。by2002SP3
>
>実際にJakaさんのコードをコピペして試しました。
>いけました!
>ですが、手元のものは、なぜかリストが作成されません。
>Worksheet_Changeイベントは私が作成したものではないのですが、
>Jakaさんのコード例を変えてみると以下のような形です。
>
>Private Sub Worksheet_Change(ByVal Target As Range)
>  If Target.Address = "$A$1" Then
    msgbox Target.Address(, , , True)
>    TEST
>  End If
>End Sub
>
>'**同ブック内にある別の標準モジュールで**
>Sub TEST()
  msgbox Range("a1").Address(, , , True)
>  If Range("A1").Value = "あ" Then
>   With Range("A2").Validation
>     .Delete
>     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
>     xlBetween, Formula1:="1,2,3,4,5"
>     .ErrorMessage = "正しい値をいれてください"
>     .IMEMode = xlIMEModeAlpha
>   End With
>  End If
>End Sub
>
として再度ためしてみてください。

ふたつMsgbox関数では、同じアドレスを表示していますか?

違うアドレスが表示された場合は、それが原因です。

TESTを標準モジュールに記述するなら、

当該シートモジュールに

'===============================================
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" Then
    TEST Target
  End If
End Sub


標準モジュールに
'===================================================
Sub TEST(ByVal rng As Range)
  If rng.Value = "あ" Then
   With rng.Offset(1, 0).Validation
     .Delete
     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
     xlBetween, Formula1:="1,2,3,4,5"
     .ErrorMessage = "正しい値をいれてください"
     .IMEMode = xlIMEModeAlpha
   End With
  End If
End Sub


というようにRangeオブジェクトをパラメータで渡せば、上記のような
間違いはないですよ!!

0 hits

【51435】change イベント もとあし 07/9/18(火) 12:14 質問
【51436】Re:change イベント Jaka 07/9/18(火) 12:54 発言
【51438】Re:change イベント もとあし 07/9/18(火) 14:10 質問
【51441】Re:change イベント Jaka 07/9/18(火) 15:56 発言
【51442】Re:change イベント もとあし 07/9/18(火) 16:01 お礼
【51444】Re:change イベント Jaka 07/9/18(火) 16:10 発言
【51447】Re:change イベント もとあし 07/9/18(火) 16:54 お礼
【51450】Re:change イベント ichinose 07/9/18(火) 20:27 発言

30553 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free