2016-12-13 1 views
0

シートAにある数千のレコードがシートAにあり、シートAの行全体が削除されています。共通の列があります。ただし、すべてが削除されなければならない場合は、重複はありません。これは明らかに「シートAのシートBルックアップから最初のキー値を取り出し、ループシートAを削除する」というもので、キーへの構造はまったくありません(レキシカルにソートされています)。可能であれば、それは可能でしょうか?シートから行をノックアウトする方法

+0

は、あなたがAからBにVLOOKUP列を追加しようとしている、と誤りがない場合、cell.entirerowを試してみてください.delete? – Harlekuin

+0

プロセス全体を何度も何度も繰り返す必要がありますか?それともその1回ですか?シートAでMATCHを使い、シートをフィルタリングすることができます。 – nightcrawler23

+0

@Harlekuinどのようにループを制御し、一致を検出したら、cell.entirerow.delete –

答えて

1

AからBへのvlookupカラムの追加を試してください。エラーがない場合は、cell.entirerow.delete(= iferror(vlookup()、 "Fine")を試してください)

あなたは(> <値を置き換える)doループでこれを行うことができます。

x = <first row> 

do until sheets("SheetName").cells(x, <column number>) = "" 

if sheets("<SheetName>").cells(x, <vlookup col>) != "Fine" then 'For example based on above 
    x = x + 1 
else 
    sheets("SheetName").cells(x, 1).entirerow.delete 
end if 

loop 
+0

これはVBAの機能に入れられるか?あなたができるなら、これを行動可能にする方法をもっと少し必要とします。 –

+0

@cp。はい、VBAのサブです。もう1つの選択肢は、新しい列に基づいてそのvlookupとフィルタを追加して削除することです(つまり、それがうまくいっていない場合) – Harlekuin

+0

ありがとうございます、後者は "once once"プロジェクトです –

関連する問題