プロが教えるわが家の防犯対策術!

一枚のシートにWorkseet Changeプロシージャを複数入れたいと思いますがこれは可能でしょうか?
やってみると「名前が適当ではありません」というエラーがでてしまうのですが。
よろしくお願いします。

A 回答 (2件)

>A列に値が入力されています。

それを、B列に入力があったときにはいったん空白にし、その後C列に入力があった時には再度表示する、と言う事をやりたいと思っています。


基本的にはこんな感じです。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
'B列が変更された時の処理
ElseIf Target.Column = 3 Then
'C列が変更された時の処理
End If
End Sub

ですが、
「いったん空白」「再度表示する」
の処理はどのようにお考えでしょうか?
単純に削除(空白)すると戻す事はできません。
どこかに値を保存するか、文字色の変更で誤魔化すようにしないと「再表示」はできません。
    • good
    • 0
この回答へのお礼

その後いろいろやってみて解決しました。
要はWorksheet_Changeを一枚のシートに二つ入れようとしたのが間違いで、一つの
Private Sub Worksheet_Change

End Sub
の間にやりたい事を別々に二つ記述すれば良かったんですね。
参考になりました。
回答ありがとうございました。

お礼日時:2007/10/03 11:16

同一のプロシージャー名(イベント)は重複できません。



イベントを判断してどのような事をやりたいのか明記して下さい。
イベントが発生したセルの判断はIF文を使って分岐させます。

この回答への補足

回答ありがとうございます。
A列に値が入力されています。それを、B列に入力があったときにはいったん空白にし、その後C列に入力があった時には再度表示する、と言う事をやりたいと思っています。
B列へのイベントとC列へのイベントを別のプロシージャでやろうとしてエラーがでてしまいました。
名前を変えれば良いと言う事でしょうか?

補足日時:2007/09/28 09:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!