Excel - Hvordan justere all vanlig liste?

Utgave

Jeg har 4 kolonner. De to første (A & B) kolonnene er en liste over sjekker jeg har utstedt. så er de to andre (C & D) kolonnene en liste over sjekker som er innkapslet fra Bank. som ser slik ut:

 A ---------- B ---------- C ---------- D UTGJØR ---- Beløp ---- En-innkassert --- -amount 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 

Nå, hva jeg vil gjøre er å justere alle vanlige sjekknumre i kolonne A og C. Og la meg få vite på kolonne E dersom beløpet har samme verdi. som vil se slik ut:

 A ---------- B ---------- C ---------- D ---------- E UTGJENGET ---- Beløp ---- En-innløst ---- beløp ----- Verdi 001 ------ 112, 00 ------ 001 ------ 112, 00 ----- SANT 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 ----- SANT 

Løsning

Antagelser

  • 1. De maksimale dataene er funnet i kolonne A
  • 2. Når makroen utføres, er det aktive arket arket med data

 Del AlignAndAccount () Dim lMaxRows As Long Dim lRowBeanCounter så lange kolonner ("A: B"). Velg Selection.Sort _ Key1: = Range ("A2"), Order1: = xlAscending, _ Overskrift: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientering: = xlTopToBottom, _ DataOption1: = xlSortNormal kolonner ("C: D"). Velg Selection.Sort _ Key1: = Range ("C2"), Order1: = xlAscending, _ Header: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientering: = xlTopToBottom, _ DataOption1: = xlSortNormal lMaxRows = Celler (Rows.Count, "A"). End (xlUp). Row Cells (1, "E" ) = "Verdi" For lRowBeanCounter = 2 Til lMaxRows Velg Case Cells (lRowBeanCounter, "A") Case = Cells (lRowBeanCounter, "C") Hvis (Cells (lRowBeanCounter, "B") = Cells (lRowBeanCounter, "D" )) Celler (lRowBeanCounter, "E") = "TRUE" Else Cells (lRowBeanCounter, "E") = "FALSE" Slutt hvis tilfelle er <Cells (lRowBeanCounter, "C") Område ("C" & lRowBeanCounter & " : D "& lRowBeanCounter) .Velg Selection.Insert Shift: = xlDown 'Cells (lRowBeanCounter, " E ") =" FALSK "Case Else Range (" A "& lRowBeanCounter &": B "& lRowBeanCounter) .Velg Selection.Insert Shift: = xlDown lMaxRows = lMaxRows + 1 End Velg Neste lRowBeanCounter End Sub 

Merk

Takk til rizvisa1 for dette tipset på forumet.

Forrige Artikkel Neste Artikkel

Beste Tips