重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

指定した値なおかつ連続して同じ値が入ってるなら削除したいのですが

A列に
紅葉
紅葉


紅葉

とはいっていて、

Sub Sample()
Dim i As Long
Dim mystr As String

mystr = "桜"

For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) = mystr Then
Rows(i).Delete
End If
Next i

End Sub


をしても、削除されません。
4行目の桜が削除されてもいいと思うのですが
コードのどこが間違えてますか?

「連続して同じ値が入ってるなら削除したいの」の質問画像

A 回答 (2件)

こんにちは!



>f Cells(i, 1) = Cells(i - 1, 1) = mystr Then
の行を
>If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 1) = mystr Then
にしてみてください。

※ AND もしくは OR はワークシート関数でも一緒ですが、
一つ一つきっちり指定する必要があります。m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2013/10/19 22:52

>If Cells(i, 1) = Cells(i - 1, 1) = mystr Then


式が成立しません。=は一つしか使えませんから。。。

If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 1) = mystr Then
Rows(i).Delete
End If

のようにAnd やOr を使うか

If Cells(i, 1) <> Cells(i - 1, 1) Then
'処理なし
Else If Cells(i, 1) = mystr Then
Rows(i).Delete
End If

のように条件分岐してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2013/10/19 22:52

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