No.1ベストアンサー
- 回答日時:
それらしきソフトもないようだし、回答も無いので作ってみました。
シートの内容がわからないので前提付です。
(1)今は各Bookのシート1(シート名:Sheet1)を対象としています。
(2)最初の100個以上のファイルを特定のフォルダに入れます。
(3)修正された100個以上のファイルを別のフォルダに入れます。
(4)新しいファイルと古いファイルは同じファイル名で、個数は同じとしています。
検証するためのBookを作ります。
(1)新規BoookでSheet1のみにします。他は削除。
(2)下記のコードをVBEの標準モジュールに貼り付けます。
ツール→マクロ→Visual Basic Editor でVBE画面に移り、
挿入→標準モジュール で標準モジュールを挿入します。
(3)モジュールの『***』部分を(2)、(3)のフォルダ名に変更します。
(4)シートに戻り、ツール→マクロ→マクロ でSheetCheckを実行します。
照合結果をシート1に書き出します。
ファイルサイズを調べたり、新旧のシートをコピーしてきて照合等をしています。
ファイルサイズ、入力範囲、入力個数、個々のセルの値をチェックしています。
(Excel2000で動作確認しました)
↓ここから
Dim TargetBook As String '変更の有無を調べるBookの1つ
Dim myBookname As String 'このブック
Const srcForder = "D:\000work_xls\0005\Hikaku1" '*** 元のブックがあるフォルダ
Const chgForder = "D:\000work_xls\0005\Hikaku2" '*** 変更後のブックがあるフォルダ
Public Sub SheetCheck()
Dim srcCheckArea, chgCheckArea As Range '元のシートと変更後シートの入力範囲
Dim chgRg As Range '変更後シートのセル
Dim ws1 As Worksheet '結果出力するシート1
Dim rw As Long 'シート1の行カウンタ
Application.ScreenUpdating = False
Set ws1 = Worksheets("Sheet1")
myBookname = ThisWorkbook.Name
TargetBook = Dir(chgForder & "\" & "*.xls")
While Len(TargetBook) > 0
rw = rw + 1: ws1.Range("A" & rw) = TargetBook
'シートをコピーする
SheetCopy srcForder, "srcSheet" '最初のブックからSheet1をコピー
SheetCopy chgForder, "chgSheet" '変更されているかもしれないブックからSheet1をコピー
'各シートの使用範囲を定義
Set srcCheckArea = Worksheets("srcSheet").UsedRange
Set chgCheckArea = Worksheets("chgSheet").UsedRange
'内容をチェック
If FileLen(srcForder & "\" & TargetBook) <> FileLen(chgForder & "\" & TargetBook) Then
ws1.Range("B" & rw) = "ファイルサイズが異なります" 'ファイルサイズのチェック
ElseIf srcCheckArea.Address <> chgCheckArea.Address Then '入力範囲のチェック
ws1.Range("B" & rw) = "入力範囲の変更あり"
ElseIf srcCheckArea.Count <> chgCheckArea.Count Then 'データ数のチェック
ws1.Range("B" & rw) = "データ数の変更あり"
Else '個々のセルのチェック
For Each chgRg In chgCheckArea
If chgRg.Text <> Worksheets("srcSheet").Range(chgRg.Address).Text Then
ws1.Range("B" & rw) = "データ値の変更あり"
Exit For
End If
Next
End If
Application.DisplayAlerts = False 'シートを削除
Sheets("chgSheet").Delete
Sheets("srcSheet").Delete
'次のブック
TargetBook = Dir
Wend
ws1.Select
Application.ScreenUpdating = True
End Sub
'シートをコピーしてシート名を変更する(Copyの前のSheet1が対象シート)
Public Sub SheetCopy(xlsFolder As String, newSheetName As String)
Workbooks.Open Filename:=xlsFolder & "\" & TargetBook
'シート1をコピー。最初のSheet1がデータファイルのSheet1
Sheets("Sheet1").Copy After:=Workbooks(myBookname).Sheets(1)
Sheets("Sheet1 (2)").Name = newSheetName
Windows(TargetBook).Activate
ActiveWindow.Close
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 お世話になっています. x軸は時間(期間)y軸はある値に対する2つのグラフ比較をしますが、私個人の考 2 2023/03/30 11:42
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- USBメモリー・SDカード・フラッシュメモリー SDカードの修復について 4 2022/08/30 08:24
- Excel(エクセル) 【EXCEL】=で同じ文字列が表示されない 4 2023/06/04 22:38
- Excel(エクセル) Excelの複数人での参照について 2 2022/06/01 13:38
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでブックを非表示で開いて処...
-
エクセルの関数 ENTERを押...
-
エクセルで参照しているデータ...
-
エクセルを共有するとPCによっ...
-
フォルダ内の複数ファイルから...
-
エクセルの関数について教えて...
-
Excel(2010)のフィルターが保...
-
北九州市にあった「井筒屋ブッ...
-
リンク元ブックのPWが分からな...
-
アクセスvbaでエクセルブックを...
-
エクセルで開いていないbookの...
-
外部ブック参照が#REF!になって...
-
指定ファィルの指定シートをシ...
-
エクセルで「ディスクがいっぱ...
-
エクセルでウィンドウの枠固定...
-
フォルダ内の複数ブック・シー...
-
Excel起動時に特定のワークシー...
-
エクセルで別ブックをバックグ...
-
エクセルで50行ごとに区切った...
-
Excelでブックの共有を掛けると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
エクセルで参照しているデータ...
-
Excel(2010)のフィルターが保...
-
Excelで複数ブックの同一セルに...
-
VBA バックグラウンドで別ブッ...
-
エクセルで50行ごとに区切った...
-
エクセルで「ディスクがいっぱ...
-
エクセルにおける,「ブック」...
-
エクセルファイルを開かずにpdf...
-
フォルダ内の複数ファイルから...
-
ブックのピボットを別ブックに...
-
エクセルシートの一部を送りたい
-
エクセル2016です。「ブッ...
-
エクセルで別ブックをバックグ...
-
フォルダ内の複数ファイルから...
-
複数ファイルから特定シートの...
おすすめ情報