[[20210902094839]] 『セルに特定の文字が入力されたら別セルの値を変更』(jrvba) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルに特定の文字が入力されたら別セルの値を変更』(jrvba)

マクロは初めてです。急遽既存資料にマクロを組み込むように言われて非常に困っております。助けて頂けますと大変助かります。

下図のような表があり、A列の入力内容が×に変わった場合に、同じ行のB、C列の値を0としたいです。B、C列は通常は手入力です。

   A   B   C
1 〇   1   1
2 〇   1   1
3 ×   1   1    ←A3が×になった場合、B3とC3に0を代入する。

宜しくお願い致します。

< 使用 Excel:Office365、使用 OS:Windows10 >


質問だけです。

A列が「× → 〇」に代わることもあるのですか?

それと数式ではダメなのでしょうか?

(メジロ) 2021/09/02(木) 10:18


 A列に「×」が入力された場合のみ対応しています。

 シートモジュールに

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    If Intersect(Target, Columns(1)) Is Nothing Then Exit Sub
    For Each Rng In Target
        If Rng.Column = 1 Then
            If Rng.Value = "×" Then Rng.Offset(, 1).Resize(, 2).Value = 0
        End If
    Next Rng
 End Sub
(通りすがり助六) 2021/09/02(木) 10:28

×が〇に変わることもあります。

(jrvba) 2021/09/02(木) 10:56


 「〇」に変わったらB・C列の値をどうするかはわからないんですが
 ひとまず1に設定するようにしてみました。

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    If Intersect(Target, Columns(1)) Is Nothing Then Exit Sub
    For Each Rng In Target
        If Rng.Column = 1 Then
            If Rng.Value = "×" Then Rng.Offset(, 1).Resize(, 2).Value = 0
            If Rng.Value = "〇" Then Rng.Offset(, 1).Resize(, 2).Value = 1
        End If
    Next Rng
 End Sub

(通りすがり助六) 2021/09/02(木) 13:17


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.