Excel - Ako zarovnať všetky spoločné zoznam?

Problém

Mám 4 stĺpce. prvé dva stĺpce (A a B) sú zoznamom vydaných šekov. potom ďalšie dva stĺpce (C & D) sú zoznamom šekov z banky. vyzerá takto:

 A ---------- B ---------- C ---------- D VYDANÉ ---- Množstvo ---- Zaplatené --- - 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 

Teraz, čo chcem urobiť, je zladiť všetky bežné kontrolné čísla v stĺpcoch A a C. A nechať ma vedieť na stĺpci E, ak suma má rovnakú hodnotu. čo bude vyzerať takto:

 A ---------- B ---------- C ---------- D ---------- E VYDANÉ ---- Suma ---- Zaplatené ---- suma ----- Hodnota 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 

Riešenie

predpoklady

  • 1. Maximálne riadky údajov sa nachádzajú v stĺpci A
  • 2. V čase vykonania makra je aktívnym hárkom list s údajmi

 Sub AlignAndAccount () Dim lMaxRows ako dlhé Dim lRowBeanCounter Ako dlhé stĺpce ("A: B") Vyberte Selection.Sort _ Key1: = Range ("A2"), Order1: = xlAscending, _ Header: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientácia: = xlTopToBottom, _ DataOption1: = xlSortNormal Stĺpce ("C: D") Vyberte Selection.Sort _ Key1: = Range ("C2"), Order1: = xlAscending, _ Header: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientácia: = xlTopToBottom, _ DataOption1: = xlSortNormal lMaxRows = Bunky (Rows.Count, "A") Koniec (xlUp) .Row bunky (1, "E" ) = "Hodnota" Pre lRowBeanCounter = 2 Pre lMaxRows Vyberte prípadové bunky (lRowBeanCounter, "A") Prípad Is = Bunky (lRowBeanCounter, "C") Ak (Bunky (lRowBeanCounter, "B") = Bunky (lRowBeanCounter, "D") )) Potom bunky (lRowBeanCounter, "E") = "TRUE" Else Cells (lRowBeanCounter, "E") = "FALSE" End If Case Is <Cells (lRowBeanCounter, "C") Rozsah ("C" & lRowBeanCounter & " : D "& lRowBeanCounter) .Vyberte Selection.Insert Shift: = xlDown" Cells (lRowBeanCounter, "E") = "FALSE" Rozsah prípadových prípadov ("A" & lRowBeanCounter & ": B "& lRowBeanCounter) .Vybrať Selection.Insert Shift: = xlDown lMaxRows = lMaxRows + 1 End Vybrať ďalšie lRowBeanCounter End Sub 

Poznámka

Vďaka rizvisa1 za tento tip na fóre.

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy