Excel - kopírování, pokud je splněn rozsah podmínek

Problém

Chci kopírovat data z listu do jiného, ​​pokud je vstupní rozsah splněn na jiném listu

  • Všechny mé údaje jsou v listu s názvem "insert" řádek, G list "insert" má jména lidí
  • V názvu listu "Dom" rozsah B4: b17 má seznam jmen tohoto týmu
  • Pokud názvy uvedené na listu Dom, které se zobrazí v listu "Vložit", chci mít tento řádek zkopírován do řádku 75 a výše v listu Domu

Řešení

"Řádek, G list" vložit "má jména lidí"

G nemůže být řádek pouze sloupec za předpokladu, že ve sloupci g jsem musel vytvořit vzorový list

Vložit list bude vypadat takto ze sloupce A až H

col.G sloupec H

 údaje o názvu a 1 s 2 d 3 f 4 g 5 h 6 

Dom list bude takhle

 sloupec B řádek4 adgkwryuzcbmnp 

Napsal jsem makro spustit makro a zjistit, zda je to to, co chcete. Bylo by mnohem užitečnější, kdybyste dali malý extrakt z listů vložek a dom. Pokud chcete a můžete upravit makro, aby vyhovoval vašim datům.

LEPŠÍ ULOŽTE ORIGINÁLNÍ SOUBOR BEZPEČNĚ NĚKTERÉ PRO RETRIEVAL, POKUD JSOU NĚKTERÉ NESPRÁVNÉ.

 Sub test () Dim cfind As Range, c As Range, x As String, dest As Range, j Jako Long j = 1 S Listy ("dom") Pro každý c In .Range ("B4: B17") x = c .Value with Worksheets ("insert"). UsedRange Set cfind = .Cells.Find (co: = x, lookat: = xlWhole) Pokud není cfind nic, pak cfind.EntireRow.Copy End With .Range ("A75"). Offset (j, 0) .PasteSpecial j = j + 1 Další c Konec S Koncem Sub Sub undo () S Listy ("dom") Rozsah (.Range ("A75"), .Cells (Rows.Count, "A") EntireRow.Delete End With End Sub 

Děkuji Venkat za tento tip.

Předchozí Článek Následující Článek

Nejlepší Tipy