プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。VBAで以下のコードがあるのですが、以下条件に変更するときはどのように書き足せばいいでしょうか?
調べてやっているのですが、うまく記載ができません。

加工したいコード

If InStr(項目1, "高橋") > 0 Then
入力先ms.Cells(入力先R.Row, 関数名(入力先Ws, "項目2")).Value = "高橋主任"
Else
buf = 参照その1Ws.Cells(参照その1R.Row, 関数名(abcWs, "役割分担")).Value
If Len(buf) = 0 Then
入力先Ws.Cells(入力先R.Row, 関数名(入力先Ws, "名前")).Value = buf
Else
入力先Ws.Cells(入力先R.Row, 関数名(入力先Ws, "名前")).Value = "スタンダード"
End If
End If
 
本当は以下のようにしたいのですが、そのようになっていません。

入力先シートのA列の値が”〇”のとき、(この条件が以下全体にかかる)

入力先シートの「項目1」に「高橋」が含まれたら「項目2」 に 「高橋主任」と記載

含まれなかった場合

別シートの「役割分担」列の値によって条件分け

なにか書かれていたら そのまま記載
空白の時 → スタンダード

としたいのですが、A列が〇のとき、の条件がないのと、

上のコードだと、「役割分担」に何か書かれていると今は空白になってしまいます。。

どうかお助けください!!

A 回答 (1件)

こういうことですかね。



    If 入力先Ws.Cells(入力先R.Row, "A").Value = "〇" Then
        If InStr(項目1, "高橋") > 0 Then
            入力先Ws.Cells(入力先R.Row, 関数名(入力先Ws, "項目2")).Value = "高橋主任"
        Else
            buf = 参照その1Ws.Cells(参照その1R.Row, 関数名(abcWs, "役割分担")).Value
            If Len(buf) > 0 Then
                入力先Ws.Cells(入力先R.Row, 関数名(入力先Ws, "名前")).Value = buf
            Else
                入力先Ws.Cells(入力先R.Row, 関数名(入力先Ws, "名前")).Value = "スタンダード"
            End If
        End If
    End If
    • good
    • 1
この回答へのお礼

ありがとうございます!!

お礼日時:2022/03/28 18:09

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