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.