こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCELでセルにN/Aを入力したら決まったセルに入っている数字(文字)が0になるマクロ

たとえば
A1セル(固定)にN/Aが入力されたら
A2セル~A6セルに入力されている数字または文字が
0(ゼロ)になるマクロは
どのようにしたら良いですか?

簡単にできますか?

投稿日時 - 2006-06-01 17:37:53

QNo.2189135

暇なときに回答ください

質問者が選んだベストアンサー

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1") = "N/A" Then
Range("A2:A6") = 0
Range("A1") = ""
End If
End Sub
でよいでしょう。A2:A6が数字か文字が入るなら、””の方がよいでしょう。しいて0にしたいならRange("A2:A6") = 0
Range("A1") = "" は、次の入力用に、必要でしょう。消す手間がかかる。
#4の補足
Cells(1, I) = 0 だと列方向に変化するから、そうなる
>とびとびの決まったセルだと記述的にどこを変えると
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1") = "N/A" Then
Range("A2:A6,A10:A12,A15") = ""
Range("A1") = ""
End If
End Sub
をご参考に。

投稿日時 - 2006-06-01 19:26:26

ANo.5

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

#1です
N/Aが最後に入力されるとして

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

If Cells(1, 1) = "N/A" Then
For I = 2 To 6
Cells(1, I) = 0
Next I
End If

End Sub

でいいと思います。

投稿日時 - 2006-06-01 18:42:23

お礼

すいません。
なぜだか行方向A2~A6が0になります。
下方向だと違うのですか?

もしよかったら、
とびとびの決まったセルだと記述的にどこを変えると対応できますか?

色々教えていただいてすみません。

投稿日時 - 2006-06-01 18:52:14

ANo.3

イベント型のマクロを組めばOKです。
Worksheet_Changeのイベントで、セルの値が変化したときにマクロが実行されます。
マクロの中身は、「kanejiro」さんの書いたマクロでOKかと思います。

投稿日時 - 2006-06-01 18:32:51

ANo.2

マクロをボタンに登録しておいて、マクロは

If Cells(1,1)="N/A" Then
For I=2 to 6
Cells(I,1)=0
Next I
End If

んな感じでどうですか。
※思いつきでパタパタとコーディングしたので動作確認はしていません。

投稿日時 - 2006-06-01 18:04:10

お礼

回答ありがとうございます。
ボタンに登録しないで自動でそうなる方法はありませんか?
BOOKまたはそのsheet上で自動で
N/Aが入力されたら
決まった範囲のセルの値が0になるというマクロなのですが・・・

投稿日時 - 2006-06-01 18:16:49

ANo.1

N/Aの入力とありますが、エラーコードの#N/Aが入っていたらとして
の答えになりますが

A2~A6のセルに=IF(ERROR.TYPE(A1)=4,CHOOSE(ERROR.TYPE(A1),,,,"0"))

といれれば"0"の文字になります。

投稿日時 - 2006-06-01 18:01:36

補足

回答ありがとうございます。
A2~A6のセルには値を入れる予定です。
その値がA1セルにN/A(決まったある文字でもいいです。)が入ると0にリセットされるようにしたいです。
この回答ですとA2~A6には式が入っているため
値を入れることが出来ないので
どうしたらいいかと思いました。

投稿日時 - 2006-06-01 18:17:03

あなたにオススメの質問