Excel 2007 [VB] マクロで重複値を検出するために色でフィルターをかけます( "J"列に重複セルの規則 - 重複)。列 "J"の重複したレコードは、 "K"列に "Copy"または "Original"という名前が付けられます。常に存在する(ただし1行以上はない) "Original"レコードの "Copy" 「コピー」行の列N:Rからのセル値を「オリジナル」の行にコピーする。VBA重複(列)を確認し、ある行から別の行にセルをコピーします。
私はそれをはっきりと書きましたが、スクリーンショットが表示されていないことを願っています。
表
私のマクロの初め:
Check if one cell contains the EXACT same data as another cell VBA
:
Sub copy_original()
Dim lastRow As Long
Dim wb2 As Excel.Workbook
Application.DisplayAlerts = False
Application.AlertBeforeOverwriting = False
Application.ScreenUpdating = True
Set wb2 = ThisWorkbook
wb2.Sheets("Sheet1").AutoFilterMode = False
wb2.Sheets("Sheet1").Range("A4:U4").AutoFilter Field:=10, Criteria1:=RGB(255, 204, 0), Operator:=xlFilterCellColor
lastRow = wb2.Sheets("Sheet1").Cells(Rows.Count, "C").End(xlUp).Row
For x = lastRow To 5 Step -1
If...
...
wb2.Sheets("Sheet1").AutoFilterMode = False
End Sub
ことを助けることができると私はそのようなスクリプトを見つけ似私は何かを探しました
Excel: Check if Cell value exists in Column, and return a value in the same row but different column
しかし、私は1つの作業マクロにそれを接続するためにどのようにそれを把握することはできません正直に言うと。 私は助けに感謝します。
はまずTHXとしてRW、範囲としてCL 薄暗いfilteredRngとしてレンジ、)
(サブcopy_originalを。それはほとんど働いた。しかし問題は、それがフィルタリングされていることです。さらに行がある場合、元の行のすぐ上に行がコピーされます(フィルタリングされていないモードから)。それは列 "J"の同じ値でフィルターされたモードで行を見つけなければなりません。それからコピーしてください。私は "cl.Row - 1"以外の何かがフィルタリングされたモードにあるので使用しなければならないと思います。 – Maskot
を理解してください。更新されたコードをご覧ください。フィルタリングされた範囲の行番号を追跡するために 'rw'を使います。 –
完璧に動作します!再びThx。 – Maskot