Top > よくつかうプログラム> 2つのブックの差の取り出し

VBA通信教材申込み

VBA課題解決型実践塾セミナー内容

申込 ヤフーショッピング

2つのブックの差の取り出し

(15)2つのブックの差の取り出し

別のブックに同じ形式のシートがあります。
内容が違っている場合その差を転記するプログラムを紹介します。

2つのブックの差の取り出し

比較するブックを開く

2つのブックの差の取り出し

VBAのブックのあるフォルダーの中のエクセルファイルをすべて開きます。
Sub bhiraku()
  Dim basyo As String
  Dim buf As String
  basyo = ThisWorkbook.Path
  buf = Dir(basyo & "\*.xlsx")
  Do While buf <> ""
    Workbooks.Open basyo & "\" & buf
    buf = Dir()
  Loop
  ThisWorkbook.Activate
End Sub

ブックの切り替え

比較1.xlsx比較2.xlsxが開いています。
各dataシートの1行1列のデータを表示します

2つのブックの差の取り出し

2つのブックの差の取り出し

Sub hikaku()
  Dim i As Long
  Dim lastrow As Long
'比較1のデータ
  Workbooks("比較1.xlsx").Activate
  MsgBox Worksheets("data").Cells(1, 1)
'比較2のデータ
  Workbooks("比較2.xlsx").Activate
  MsgBox Worksheets("data").Cells(1, 1)
'自分のブック
  ThisWorkbook.Activate
  Worksheets("data").Select
  MsgBox Worksheets("data").Cells(1, 1)
End Sub

比較1比較2のデータの違いの表示

2つのブックの差の取り出し

2つのブックの差の取り出し

Sub hikaku1()
  Dim i As Long
  Dim lastrow As Long
  Dim data As Long
'比較1のデータ
  Workbooks("比較1.xlsx").Activate
  lastrow = Worksheets("data").Cells(Rows.Count, 1).End(xlUp).Row
  For i = 2 To lastrow
'比較2のデータ
    Workbooks("比較2.xlsx").Activate
    data = Worksheets("data").Cells(i, 1)
    Workbooks("比較1.xlsx").Activate
    If Worksheets("data").Cells(i, 1) <> data Then
      MsgBox data & "ちがう"
    End If
  Next
End Sub

比較1比較2のデータの差を転記

2つのブックの差の取り出し

2つのブックの差の取り出し

Sub hikaku2()
  Dim i As Long
  Dim lastrow As Long
  Dim data As Long
  Dim sa As Long
'自分のブック
  Worksheets("data").Cells.Clear
  Worksheets("data").Cells(1, 1) = "比較差"
'比較1のデータ
  Workbooks("比較1.xlsx").Activate
  lastrow = Worksheets("data").Cells(Rows.Count, 1).End(xlUp).Row
  For i = 2 To lastrow
'比較2のデータ
    Workbooks("比較2.xlsx").Activate
    data = Worksheets("data").Cells(i, 1)
    Workbooks("比較1.xlsx").Activate
    If Worksheets("data").Cells(i, 1) <> data Then
      sa = Worksheets("data").Cells(i, 1) - data
'自分のブック
      ThisWorkbook.Activate
      Worksheets("data").Cells(i, 1) = sa
    End If
  Next
'自分のブックを選択
  ThisWorkbook.Activate
  Worksheets("data").Select
End Sub

塾長あいさつ
基本方針(考え方)
通信教育内容
課題解決セミナー内容
初心者基礎コース内容
カリキュラム・料金
案内地図・各種リンク
問合せ・申込み
アベノ塾
システムの内製化
アサイコンピュータACS
応用部品集(有料)
販売管理(事例)
財務管理(事例)
顧客管理(事例)
見積もり(事例)
給与(事例)
介護(事例)
ゴースト暗算(事例)
部品集(部品の基礎)
部品集(シート関連)
部品集(データベース)
部品集(セル関連)
部品集(関数)
部品集(フォーム関連)
部品集(ブック関連)
部品集(その他)
変数の勉強
繰り返しと条件文
マスター登録.訂正.削除
フォルダー内のファイル
項目をシート名で作成
ブックの操作
CSVファイルの取り込み
呼び出し元・先
商品マスター検索
エクセル関数をVBAで
エクセル関数を使う
よくつかうプログラム
販売管理(ソース)
財務管理(ソース)
給与管理(概要・画面)
見積もり(概要・画面)
工程管理(概要・画面)
原価管理(概要・画面)