Excel - すべての共通リストを揃える方法は?

問題

4列あります。 最初の2つの列(AとB)は、発行された小切手のリストです。 それから、他の2つの(CとD)列は銀行から括られた小切手のリストです。 それはこのようになります:

 A ---------- B ---------- C ---------- Dが発行されました----金額---- En-cashed ---金額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 

今、私がやりたいことは、列AとCのすべての一般的な小切手番号を揃えることです。そして、金額が同じ値を持っているかどうかを列Eに知らせてください。 これは次のようになります。

 A ---------- B ---------- C ---------- D ---------- Eが発行されました----金額----合計----金額-----値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 

溶液

仮定

  • 1.データの最大行数がA列にある
  • 2.マクロ実行時、アクティブシートはデータ付きシートです

 Sub AlignAndAccount()長いlimaxRowBeanCounterと長い列( "A:B")として選択Selection.Sort _ Key1:= Range( "A2")、Order1:= xlAscending、_ Header:= xlYes、OrderCustom:= 1、_ MatchCase:= False、向き:= xlTopToBottom、_ DataOption1:= xlSortNormal Columns( "C:D")を選択します。Selection.Sort _ Key 1:= Range( "C2")、Order 1:= xlAscending、_ Header: = xlはい、OrderCustom:= 1、_ MatchCase:= False、向き:= xlTopToBottom、_ DataOption1:= xlSortNormal lMaxRows = Cells(Rows.Count、 "A")。End(xlUp).Row Cells(1、 "E" lRowBeanCounter = 2の場合lMaxRowsでケースセルを選択(lRowBeanCounter、 "A")ケースは=セル(lRowBeanCounter、 "C")If(セル(lRowBeanCounter、 "B")=セル(lRowBeanCounter、 "D") )Cells(lRowBeanCounter、 "E")= "TRUE"そうでない場合(lRowBeanCounter、 "E")= "FALSE" Case <Cells(lRowBeanCounter、 "C")の範囲( "C"&lRowBeanCounter& ")で終了:D "&lRowBeanCounter)。選択を選択します。挿入Shift:= xlDown 'セル(lRowBeanCounter、" E ")=" FALSE "大文字と小文字の区別範囲(" A "&lRowBeanCounter&":B "&lRowBeanCounter)。選択を選択してください。挿入Shift:= xlDown lMaxRows = lMaxRows + 1 End次へ選択lRowBeanCounter End Sub 

注意

フォーラムでこのヒントを寄せてくれたrizvisa1に感謝します。

前の記事 次の記事

トップのヒント