Excel - 条件範囲が満たされている場合はコピー

問題

別のシートで入力範囲が満たされている場合、そのシートから別のシートにデータをコピーしたい

  • 私のデータはすべて "insert"行と呼ばれるシートにあり、Gシート "insert"は人々の名前を持っています
  • シート名 "Dom"の範囲B4:b17にはそのチームの名前のリストがあります。
  • Domのシートにリストされている名前が「挿入」シートに表示されている場合は、その行をDomのシートの75行目以降にコピーします。

溶液

「行、Gシート」に「人の名前が入ります」

サンプルシートを作成しなければならなかったgの列であると仮定すると、Gは行のみの列にはなれません

挿入シートは、列AからHまでのようになります。

col.G col H

 名前データa 1 s 2 d 3 f 4 g 5 h 6 

ドムシートはこんな感じになります

 col B row4 adgkwryuzcbmnp 

私はマクロ実行マクロを書いて、これがあなたが望むものであるかどうかを確かめます。 あなたが挿入物とドムシートの小さい抜粋を与えたならば、それはもっと役に立ちましたでしょう。 あなたが望むなら、あなたのデータに合うようにマクロを修正することができます。

うまくいかない場合は、元のファイルを安全な場所に保存してください。

 Sub test()範囲としてのcfind、範囲としてのc、範囲としてのx、範囲としてのdest、長さとしてのj j各ワークシートについて( "dom")各cに対して.Range( "B4:B17")x = cワークシートの値( "insert")。UsedRange Set cfind = .Cells.Find(what:= x、lookat:= xlWhole)cfindが何もない場合cfind.EntireRow.Copy .Range( "A75")で終了します。 Offset(j、0).PasteSpecial j = j + 1次cワークシート( "dom")で範囲(.Range( "A75")、.Cells(Rows.Count、 "A") EntireRow.Delete End Subで終了します。 

このヒントをくれてありがとうVenkat。

前の記事 次の記事

トップのヒント