Jak přenášet konkrétní data z jednoho listu na druhý prostřednictvím VBA v aplikaci Microsoft Excel

Anonim

V tomto článku použijeme událost změny listu k přenosu dat z jednoho listu do druhého v závislosti na určité podmínce.

Nezpracovaná data se skládají z podrobností o zákazníkovi, které zahrnují jméno, adresu, město, region, zemi a telefonní číslo.

V tomto článku chceme přenést data těch zákazníků, kteří nemají nárok na konkrétní nabídku. Pokud zákazník nemá nárok na konkrétní nabídku, obsahuje poslední sloupec hodnotu „Ne“. Chceme tyto „nevhodné“ zákazníky zkopírovat na list „NotEitableData“.

Vysvětlení kódu

If Target.Column = 7 Then

Výše uvedený kód slouží k omezení události změny listu tak, aby se prováděla pouze při hodnotě v 7th sloupec se změní.

Listy („NotEitableData“). Rozsah („A2: I600“). ClearContents

Výše uvedený kód slouží k odstranění hodnoty z rozsahu A2: I600

Listy („Hlavní“). Buňky (i, „G“). EntireRow.Copy Cíl: = Listy („NotEitableData“). Rozsah („A“ & Rows.Count) .End (xlUp) .Offset (1)

Výše uvedený kód se používá ke kopírování nevhodných zákazníků na list „NotEitableData“.

Pro kód prosím postupujte níže

 Private Sub Worksheet_Change (ByVal Target As Range) 'Deklarace proměnných Dim i, Lastrow As Long' Proveďte kód, pokud se změní hodnota v sedmém sloupci If Target.Column = 7 Then 'Získání čísla řádku poslední buňky Lastrow = Sheets ("Main" ) .Range ("A" & Rows.Count) .End (xlUp) .Row 'Odstranění všech předchozích dat z listů „NotEitableData“ („NotEitableData“). Rozsah („A2: I600“). Vymazání ClearContents od desáté řádek do posledního řádku Pro i = 10 To Lastrow 'Pokud je hodnota ve sloupci G řádku „Ne“, zkopírujte řádek do cílového listu If Sheets („Main“). Buňky (i, „G“). Hodnota = " Ne "Potom listy (" Hlavní "). Buňky (i," G "). EntireRow.Copy Cíl: = Listy (" NotEitableData "). Rozsah (" A "& Rows.Count) .End (xlUp) .Offset ( 1) End If Next i End If Range ("A1"). Vyberte End Sub 

Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.

Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail