hide_kichiの情報

気になる情報を適当にアップしていきます

【EXCEL,EXCEL_VBA】データを比較

今週のお題「575」
f:id:hide_kichi:20210416161312j:plain


お題「わたしの仕事場」


EXCEL

データを比較するプログラムを作成しました

データをチェックする作業が必ずあると思います。

見た目でチェックもありですが

並べ替えが難しいランダムになっているデータをチェックする時

プログラムで比較しましょう。


マクロ化しました。



操作手順は以下になります。

B列とD列に比較するデータを貼り付けます。

最後のデータの次はブランクにしてください。

ブランクでプログラム読み込みを終了します。

f:id:hide_kichi:20210604112056p:plain

マクロを実行します
「表示」ー「マクロ」ー「マクロ表示」



f:id:hide_kichi:20210604112308p:plain

マクロ:「データ比較2」を実行します。
f:id:hide_kichi:20210604112516p:plain
f:id:hide_kichi:20210604112556p:plain

見てわかると思いますが、
セルの白い色がどちらにも存在しないものです。

プログラムに追加すれば、

大文字小文字・半角全角も関係なく
比較することも簡単にできます。

また拡張することも簡単にできます。
例えば 2,3列を比較するとか??


日々の作業がすこし楽になります。

プログラムに強い人に頼むほどのものではないので

自分で作っちゃいましょう!!

作れない人は、プログラミング覚えちゃいましょう!!

自分で作れるようになるとこのケースだと数時間で作成できちゃいます。

頑張りましょう!!

筆者ができるんだからきっとあなたもできます。


プログラムソースはこちら


Public Sub データ比較2()

'
'


       Dim CHKTB1(10000) As String
       Dim CHKTB2(10000) As String
       
       Dim WORK_C1 As String
       Dim WORK_C2 As String
       
      
       J = 0
       
       WORK_C1 = "B" & J + 1   ' B1列
       WORK_C2 = "D" & J + 1   '  D1列
       
       work_s1 = "XXXX"
       work_s = ""
       J = 0
       Do While work_s1 <> ""
            '
            J = J + 1
            work_s1 = Range(WORK_C1).Offset(J, 0)   'B列を読んで TABLE CHKTB1()に入れる
            CHKTB1(J) = work_s1
       Loop
       CHKTB1(0) = J    '件数をいれる
      
       work_s1 = "XXXX"
       work_s = ""
       J = 0
       Do While work_s1 <> ""
            '
            J = J + 1
            work_s1 = Range(WORK_C2).Offset(J, 0)  'D列を読んで TABLE CHKTB2()に入れる
            CHKTB2(J) = work_s1
       Loop
       CHKTB2(0) = J  '件数をいれる
        
        
  For I = 1 To CHKTB1(0)
      For J = 1 To CHKTB2(0)
              
              If CHKTB1(I) = CHKTB2(J) Then
              
                    Range(WORK_C1).Offset(I, 0).Interior.Color = RGB(100, 200, 200) ' 背景色   ’B,D列両方存在したら背景色を色付け
                    Range(WORK_C2).Offset(J, 0).Interior.Color = RGB(100, 200, 200) ' 背景色
                    Exit For
              End If
              
              
              
      Next J
   Next I
   
   
   For I = 1 To CHKTB2(0)
      For J = 1 To CHKTB1(0)
              
              If CHKTB2(I) = CHKTB1(J) Then
              
                    Range(WORK_C2).Offset(I, 0).Interior.Color = RGB(100, 200, 200) ' 背景色   ’B,D列両方存在したら背景色を色付け
                    Range(WORK_C1).Offset(J, 0).Interior.Color = RGB(100, 200, 200) ' 背景色
                    Exit For
              End If
              
      Next J
   Next I
   
   
   MsgBox "check終了!!"

End Sub



End Sub



  

 「☺Smile☺Smile☺」