• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

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 をご参考に。

その他の回答 (4)

  • a-gucci
  • ベストアンサー率45% (5/11)
回答No.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 でいいと思います。

goo_marine
質問者

お礼

すいません。 なぜだか行方向A2~A6が0になります。 下方向だと違うのですか? もしよかったら、 とびとびの決まったセルだと記述的にどこを変えると対応できますか? 色々教えていただいてすみません。

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.3

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

  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.2

マクロをボタンに登録しておいて、マクロは If Cells(1,1)="N/A" Then For I=2 to 6 Cells(I,1)=0 Next I End If んな感じでどうですか。 ※思いつきでパタパタとコーディングしたので動作確認はしていません。

goo_marine
質問者

お礼

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

  • a-gucci
  • ベストアンサー率45% (5/11)
回答No.1

N/Aの入力とありますが、エラーコードの#N/Aが入っていたらとして の答えになりますが A2~A6のセルに=IF(ERROR.TYPE(A1)=4,CHOOSE(ERROR.TYPE(A1),,,,"0")) といれれば"0"の文字になります。

goo_marine
質問者

補足

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

関連するQ&A

専門家に質問してみよう