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

こういった条件でやりたいのですがうまくいきません・・・
処理フラグの立て方は間違っていないと思うのですが・・・
ちょっとセルとかは変えてあります。

もしE3の値が4で割り切れたら8行目を削除し次の処理は行わない
もしE3の値が4で割り切れなかったらE4の値が4で割り切れるか処理をする。
割り切れたら18行目を削除

E3とE4の値両方が4で割り切れなかったら8行目を削除し1行あがるので17行目を削除したいです

Sub rdlt()
If Range("I1").Value = 0 Then
Range("I1").Value = 1 '処理は一度きり

If Range("E3").Value Mod 4 = 0 Then
Rows("8:8").delete '4で割れたとき8行目を削除
Range("J1").Value = 1 '4で割れたときは次の処理用にフラグ
End If



If Range("J1").Value = 0 Then 'E3が4で割れなかったときは処理する
If Range("E4").Value Mod 4 <> 0 Then
Rows("18:18").delete
Range("J1").Value = 1
End If
End If

End If
End Sub

A 回答 (1件)

If ... Then ... Else ... end ifを使って処理してみましょう


  if Range("E3").Value Mod 4 = 0 then
    Rows("8:8").Delete
    Range("J1").Value = 1
  else
    ' E3は割り切れなかった場合
    if Range("E4").Value Mod 4 = 0 then
      Range("18:18").delete
      Range("J1").Value = 1
    else
      ' E3,E4ともに割り切れなかった
      ' 18行目を先に削除
      Rows("18:18").Delete
      Rows("8:8").Delete
    end if
  end if
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています