Ja jums rodas jautājums, kā salīdzināt 2 datu slejas ar miljoniem rindām un iegūt unikālas vērtības abās slejās, jums vajadzētu izlasīt šo rakstu. Mēs izmantosim VBA kodu, lai salīdzinātu divas datu slejas un parādītu atšķirību nākamajās divās kolonnās.
Jautājums: A un B slejās ir vairākas vērtības. Es vēlos, lai makro pārbaudītu vairāk nekā 40 k datu rindas abās kolonnās un pēc tam izvilktu unikālo ierakstu sarakstu no katras kolonnas nākamajā slejā, ti, C slejā & D attiecīgi. Šajā piemērā es ņemu tikai 40 datu paraugu rindas.
Oriģinālo jautājumu varat atrast šeit
Tālāk ir sniegts datu momentuzņēmums:
Lai salīdzinātu divu kolonnu sarakstu, mums ir jāveic šādas darbības, lai palaistu VB redaktoru:
- Noklikšķiniet uz cilnes Izstrādātājs
- Kodu grupā atlasiet Visual Basic
- Nokopējiet zemāk esošo kodu standarta modulī
Sub PullUniques () Dim rngCell kā diapazons katrai rngCell diapazonā ("A2: A40") Ja WorksheetFunction.CountIf (Diapazons ("B2: B40"), rngCell) = 0 Tad diapazons ("C" & Rows.Count). Beigas (xlUp) .Pārvietojums (1) = rngCella beigas Ja nākamais Katram rngCell diapazonā ("B2: B40") Ja darblapa Funkcija.CountIf (Diapazons ("A2: A40"), rngCell) = 0 Tad diapazons ("D" & Rows.Count). End (xlUp). Offset (1) = rngCella beigas, ja nākamā beigas
- Iepriekš minētais makro ir iestatīts darbam; vai nu mēs varam nospiest taustiņu F5 -ja pašlaik atrodaties Visual Basic redaktora ekrānā -vai arī mēs varam izmantot īsinājumtaustiņus “ALT + F8”, atlasiet savu makro un noklikšķiniet uz pogas Palaist
- A un B sleju unikālais saraksts tiks automātiski ģenerēts C un D slejās
Koda skaidrojums:
Iepriekš minētajā kodā mēs izmantosim IF funkciju kopā ar For cilpu, lai iegūtu rezultātu.
- Mēs deklarējam Dim rngCell kā diapazonu; rngCell pasludināšanas par diapazonu mērķis ir piešķirt parauga diapazonu “A2: A40” ar konkrētu nosaukumu, piemēram, “rngCell” mūsu piemērā
- Par katru rngCell diapazonā ("A2: A40"); mēs pārbaudīsim katru šūnu rngCell ar nosacījumu
- Ja WorksheetFunction.CountIf (Diapazons ("B2: B40"), rngCell) = 0 Tad; šī koda rinda izmanto funkciju COUNTIF VBA, lai pārbaudītu kritēriju diapazonu B2: B40 ar kritērijiem rngCell ir vienāds ar nulli, tad C slejā tiks saglabāta rngCell saglabātā vērtība
- Līdzīgi mēs darbināsim katrai cilpai B kolonnu un iegūsim unikālās vērtības kolonnā D
Secinājums: Mēs varam iegūt unikālu teksta vai vērtību sarakstu no katras kolonnas; slejas C galvenes nosaukums (rezultāti - eksistē 1. sarakstā, bet nav 2. sarakstā) un kolonna D (rezultāti - eksistē 2. sarakstā, bet ne 1. sarakstā). Gadījumā, ja mums ir līdzīgas prasības, bet kolonnu skaits ir lielāks par divām, mums ir jāpielāgo kods, lai iegūtu rezultātu.
Ja jums patika mūsu emuāri, kopīgojiet to ar saviem draugiem Facebook. Un arī jūs varat sekot mums Twitter un Facebook.
Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot, papildināt vai ieviest jauninājumus mūsu darbā un uzlabot to jūsu labā. Rakstiet mums uz e -pasta vietne