Ako prenášať konkrétne údaje z jedného listu na druhý prostredníctvom VBA v programe Microsoft Excel

Anonim

V tomto článku použijeme udalosť zmeny pracovného hárka na prenos údajov z jedného hárka do druhého v závislosti od určitých podmienok.

Pôvodné údaje pozostávajú z podrobností o zákazníkovi, ktoré zahŕňajú meno, adresu, mesto, región, krajinu a telefónne číslo.

V tomto článku chceme preniesť údaje o tých zákazníkoch, ktorí nespĺňajú podmienky pre konkrétnu ponuku. Ak zákazník nespĺňa podmienky pre konkrétnu ponuku, posledný stĺpec obsahuje hodnotu „Nie“. Chceme týchto „nespôsobilých“ zákazníkov skopírovať na list „NotEitableData“.

Vysvetlenie kódu

Ak Target.Column = 7 Potom

Vyššie uvedený kód sa používa na obmedzenie udalosti zmeny pracovného hárka, aby sa vykonala iba vtedy, ak má hodnotu 7th stĺpec sa zmení.

Hárky („NotEitableData“). Rozsah („A2: I600“). ClearContents

Vyššie uvedený kód sa používa na vymazanie hodnoty z rozsahu A2: I600

Tabuľky („Hlavné“). Bunky (i, „G“). Cieľ EntireRow.Copy: = Listy („NotEitableData“). Rozsah („A“ & Rows.Count). Koniec (xlUp). Offset (1)

Vyššie uvedený kód sa používa na kopírovanie nespôsobilých zákazníkov na list „NotEitableData“.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

 Private Sub Worksheet_Change (ByVal Target As Range) 'Deklarovanie premenných Dim i, Lastrow As Long' Vykonajte kód, ak sa zmení hodnota v siedmom stĺpci Ak Target.Column = 7 Potom 'Získanie čísla riadka poslednej bunky Lastrow = Listy („Main“ ) .Range ("A" & Rows.Count). End (xlUp) .Row 'Deleting any previous data from "NotEitableData" sheet Sheets ("NotEitableData"). Range ("A2: I600"). ClearContents' Looping from desatina riadok do posledného riadka Pre i = 10 Do Lastrow 'Ak je hodnota v stĺpci G riadka „Nie“, skopírujte riadok do cieľového listu, ak sú hárky („hlavné“). Bunky (i, „G“). Hodnota = „ Nie "Potom hárky (" Hlavné "). Bunky (i," G "). Cieľ EntireRow.Copy: = hárky (" NotEitableData "). Rozsah (" A "& Rows.Count) .Ukončiť (xlUp) .Offset ( 1) End If Next i End If Range ("A1"). Vyberte End Sub 

Ak sa vám tento blog páčil, zdieľajte ho so svojimi priateľmi na Facebooku. Môžete nás tiež sledovať na Twitteri a Facebooku.

Budeme radi, ak sa nám ozvete, dajte nám vedieť, ako môžeme zlepšiť našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku