これがどれほど困難だったか信じられません。重複する行をすべて見つけたい。列 A:R、動的な行数。行を削除する方法を知っています。しかし、私はそれらを強調したいだけです。それが役立つ場合、私のデータはリストオブジェクト(テーブル)にあります。いいえ!条件付き書式を使用したくありません。私はすでにそれをしました。できます。人々は常に例を求めていますが、私はこれを何度も書き直しました。ここに私が試した最後の2つがあります:
繰り返しますが、範囲は x.Range("A4:R380") です。重複行全体を識別する方法を調べます。単一の列または値などに基づいていません。行内のすべての列。どんな助けでも大歓迎です。これは何よりも学習体験です。Office 2010 および Office 2011 (Mac)
Set rngCl = mySheet.Range("A4:R" + CStr(LastRd))
Set wf = Application.WorksheetFunction
For i = 4 To LastRd
Set cl = rngCl.Rows(i).EntireRow
If wf.CountIf(rngCl, cl.Value) > 1 Then
MsgBox "found"
With cl.Interior
.Pattern = xlSolid
.PatternThemeColor = xlThemeColorAccent1
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0.799981688894314
End With
With cl.Font
.Color = -16776961
.TintAndShade = 0
.Bold = True
End With
End If
Next i
End Sub
Sub DuplicateValue()
Dim Values As Range, iX As Integer
'set ranges (change the worksheets and ranges to cover where the staterooms are entered
Set Values = Sheet6.Range("A4:R389")
con = 0
con1 = 0
'checking on first worksheet
For iX = Values.Rows.Count To 1 Step -1
If WorksheetFunction.CountIf(Values, Cells(iX, 1).Value) > 1 Then
con = con + 1
'MsgBox "Stateroom " & Cells(iX, 1).Address & " has already been issued an iPad!!", vbCritical
'Cells(iX, 1).ClearContents
End If
If WorksheetFunction.CountIf(Values, Cells(iX, 3).Value) > 1 Then
con1 = con1 + 1
'MsgBox "This iPAD has already been issued!!", vbCritical
'Cells(iX, 3).ClearContents
End If
Next iX
MsgBox CStr(con) + ":" + CStr(con1)
End Sub