Excel - Kuinka kaikki yhteiset luettelot kohdataan?

Ongelma

Minulla on 4 saraketta. kaksi ensimmäistä (A & B) -saraketta ovat luettelo tarkastetuista tarkastuksista. sitten kaksi muuta (C & D) -saraketta ovat luettelo pankista otetuista tarkastuksista. näyttää näin:

 A ---------- B ---------- C ---------- D ON OLETETTU ---- Määrä ---- Ennakko määrä 001 ------ 112, 00 ------ 001 ------ 112, 00 002 ------ 200, 25 ------ 003 ------ 350.00 003 --- --- 350, 00 ------ 004 ------ 512, 00 004 ------ 512, 05 ------ 005 ------ 200.10 005 ------ 200.05 - ---- 007 ------ 821, 30 006 ------ 300, 25 ------ 009 ------ 100.10 007 ------ 821.30 ------ 010 - ----- 500, 00 008 ------ 254, 23 009 ------ 100, 00 010 ------ 500, 00 

Nyt, mitä haluan tehdä, on kohdistaa kaikki yleiset tarkistusnumerot sarakkeessa A ja C. Haluan tietää minulle sarakkeessa E, jos määrä on sama arvo. joka näyttää tältä:

 ---------- B ---------- C ---------- D ---------- E EHDOTETTU ---- Määrä ---- Enson käteinen ---- summa ----- Arvo 001 ------ 112.00 ------ 001 ------ 112.00 ----- TRUE 002 - ---- 200, 25 003 ------ 350, 00 ------ 003 ------ 350, 00 ----- TRUE 004 ------ 512.05 ------ 004 - ---- 512.00 ----- FALSE 005 ------ 200.05 ------ 005 ------ 200.10 ----- FALSE 006 ------ 300.25 007 - ---- 821, 30 ------ 007 ------ 821, 30 ----- TRUE 008 ------ 254, 23 009 ------ 100, 00 ------ 009 - ---- 100.80 ----- FALSE 010 ------ 500.00 ------ 010 ------ 500.00 ----- TRUE 

Ratkaisu

oletukset

  • 1. Tietojen maksimirivit löytyvät sarakkeesta A
  • 2. Makron toteutushetkellä aktiivinen arkki on arkki, jossa on tietoja

 Sub AlignAndAccount () Dim lMaxRows kuten pitkä Dim lRowBeanCounter pitkinä sarakkeina ("A: B"). Valitse Selection.Sort _ Key1: = Range ("A2"), Järjestys1: = xlAscending, _ Header: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientation: = xlTopToBottom, _ DataOption1: = xlSortNormal Columns ("C: D"). Valitse Selection.Sort _ Key1: = Range ("C2"), Order1: = xlAscending, _ Header: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientation: = xlTopToBottom, _ DataOption1: = xlSortNormal lMaxRows = Solut (rivit.Laskenta, "A"). End (xlUp). ) = "Arvo" varten lRowBeanCounter = 2 To lMaxRows Valitse kotelot (lRowBeanCounter, "A") Case = = solut (lRowBeanCounter, "C") Jos (solut (lRowBeanCounter, "B") = solut (lRowBeanCounter, "D" )) Sitten solut (lRowBeanCounter, "E") = "TRUE" Else Cells (lRowBeanCounter, "E") = "FALSE" End Jos asia on <Cells (lRowBeanCounter, "C") -alue ("C" & LRowBeanCounter & " : D "& lRowBeanCounter) .Valitse Selection.Insert Shift: = xlDown 'Solut (lRowBeanCounter, " E ") =" FALSE "Case Else Range (" A "& LRowBeanCounter &": B "& lRowBeanCounter) .Valitse valinta.Vaihda vaihto: = xlDown lMaxRows = lMaxRows + 1 loppu Valitse Seuraava lRowBeanCounter End Sub 

Huomautus

Kiitos rizvisa1: stä tästä vinkistä foorumissa.

Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä