1

Excel ファイル内に 3 つのワークシートがあります。欠落 (25,000 行)、有効 (18,000 行)、一致 (空白)。

Missing と Valid の列 D の値を比較し、すべての一致のすべての行を Matched シートにコピーする必要があります。

これを使ってワイルドカード検索を行うことができれば、それもいいでしょう。たとえば、ABBOTT LABORATORIES を ABBOTT LAB に一致させる方法などです。それが不可能な場合は、一致した行を強調表示してワイルドカードの一致を手動で見つける方法があれば、非常にありがたいです。

これは私が試したもので、Google経由で見つけましたが、コードを完全には理解していません. エラーなしで数分間実行されましたが、データは取得されませんでした:

Sub CopyRows() 
Dim cell As Range 
Dim found As Range 
Dim dcol 
Dim bcol 
Dim totalrows1 As Long 
Dim totalrows2 As Long 

totalrows1 = Sheets("Valid").UsedRange.Rows.Count 
bcol = "$D$2:$D$" & totalrows1 
totalrows2 = Sheets("Missing").UsedRange.Rows.Count 
dcol = "$D$2:$D$" & totalrows2 
For Each cell In Sheets("Valid").Range(bcol) 
    If Not Sheets("Missing").Range(dcol).Find(What:=cell.Value, LookAt:=xlWhole) Is Nothing Then 
        Set found = Sheets("Missing").Range(dcol).Find(What:=cell.Value, LookAt:=xlWhole) 
        If found.Offset(0, -3).Value = cell.Offset(0, 1).Value And found.Offset(0, -2).Value = cell.Offset(0, -1).Value Then 
            cell.Offset(0, 2).Value = found.Offset(0, -1).Value 
        End If 
    End If 
Next cell
End Sub 
4

1 に答える 1

0

おおよその一致は管理しませんが、それ以外の場合: 欠落と一致で有効を融合し、並べ替えてColumnDから、条件付き書式でハイライトを適用して、隣接する一致する 'D' 値を識別します。強調表示されていないものをフィルタリングして削除します。SU486330のレビューが役立つ場合があります。

于 2012-10-16T01:33:37.917 に答える