【可視セルのみの操作をしたい】 一度投稿したのですが、マクロをちゃんと書いていなかったりしてわかりにくかったので書き直します。

補足

For Each b In Range(Cells(5, "E"), Cells(MR,"E")).SpecialCells(xlCellTypeVisible) のところで、自分的には「Eの5行目」から「Eの最終行」まで5行目から順に可視セルのみを探していくという意味で書いたのですが、そういう意味ではないんですか?

Visual Basic | Excel50閲覧

ベストアンサー

1

1人がナイス!しています

ThanksImg質問者からのお礼コメント

ありがとうございます。 勉強になります

お礼日時:5/25 16:22

その他の回答(1件)

1

文面からすると、シート上での比較で済むのであれば、以下のようなものでは? ・要望に添えないものであれば、ごめんなさい。 ・一個一個の比較になりますので、数が多いとレスポンスに影響がでます。 Sub ssa() Dim bbn As Variant Dim iLastRow As Long, ii As Long, jj As Long ''E列最終行を設定する。 iLastRow = Cells(Rows.CountLarge, "E").End(xlUp).Row ''E列の先頭(5行目)から同じものがないかチェックする。 For ii = 5 To iLastRow - 1 bbn = Cells(ii, "E").Value For jj = ii + 1 To iLastRow If (Cells(jj, "E").Value = bbn) Then Cells(jj, "E").Select MsgBox "部番が重複しています。" & vbCrLf & "ヒント:同じ部品を同じ部番で再び購入の際は、部番の後にアルファベット(a~z)を付けて登録してください。", vbCritical + vbOKOnly Exit Sub End If Next jj Next ii End Sub

1人がナイス!しています