アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

簡単にできますか?

A 回答 (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
をご参考に。
    • good
    • 1

#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

でいいと思います。
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2006/06/01 18:52

イベント型のマクロを組めばOKです。


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

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



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

んな感じでどうですか。
※思いつきでパタパタとコーディングしたので動作確認はしていません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/06/01 18:16

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


の答えになりますが

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

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

この回答への補足

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

補足日時:2006/06/01 18:17
    • good
    • 0

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