ExcelVBAについて質問致します
2つの同じファイル名のExcelファイルが
別々のファイルに有り
仮に片方を①、もう片方を②、マクロを書き込むファイルを③とします
①②には一部分だけ違った内容が書き込まれています
書式、書き込みセル位置は全く同じです
②のファイルの中身を③に書き込み
(一部関数が有るので値のみ書き込み)
①と違う部分を赤く着色したいのですが上手く行きません
①のファイルは名前の変更が可能です
ファイル名には最後にインプットと有りますが
同じ名前の組み合わせが大量に有るので
起動時に2つのファイルを選択するか
開いている2つのファイルを対象にしたいです
事務所のpcでダウンロード等は出来ないので
フリーソフトではなくコードで教えて頂けないでしょうか
宜しくお願い致します
No.3ベストアンサー
- 回答日時:
大変お待たせいたしました。
こんな感じではいかがでしょうか?---------------------------------------------------------------------------
Sub ファイル比較()
Dim 比較元 As Variant
Dim 比較先 As Variant
Dim ファイル名 As String
Dim 行終 As Long
Dim 列終 As Long
Dim 行 As Long
Dim 列 As Long
Sheets(1).Select
Cells.Delete Shift:=xlUp
ChDir ThisWorkbook.Path
比較元 = Application.GetOpenFilename("Excelブック,*.xls;*.xlsx", , "比較元のファイルを指定して下さい", , False)
If 比較元 = False Then Exit Sub
ChDir ThisWorkbook.Path
比較先 = Application.GetOpenFilename("Excelブック,*.xls;*.xlsx", , "比較先のファイルを指定して下さい", , False)
If 比較先 = False Then Exit Sub
ChDir ThisWorkbook.Path
ファイル名 = Dir(比較先)
Workbooks.Open Filename:=比較先
Sheets(1).Select
Cells.Copy
ThisWorkbook.Activate
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Windows(ファイル名).Activate
ActiveWorkbook.Saved = True
ActiveWindow.Close
With ActiveSheet.UsedRange
行終 = .Rows(.Rows.Count).Row
列終 = .Columns(.Columns.Count).Column
End With
ファイル名 = Dir(比較元)
Workbooks.Open Filename:=比較元
Sheets(1).Select
With ActiveSheet.UsedRange
If 行終 < .Rows(.Rows.Count).Row Then 行終 = .Rows(.Rows.Count).Row
If 列終 < .Columns(.Columns.Count).Column Then 列終 = .Columns(.Columns.Count).Column
End With
Application.ScreenUpdating = False
With ThisWorkbook.Sheets(1)
For 行 = 1 To 行終
For 列 = 1 To 列終
If .Cells(行, 列).Value <> Cells(行, 列).Value Then
.Cells(行, 列).Interior.ColorIndex = 3
Else
.Cells(行, 列).Interior.ColorIndex = xlNone
End If
Next
Next
End With
Application.ScreenUpdating = True
ActiveWorkbook.Saved = True
ActiveWindow.Close
Range("A1").Select
End Sub
---------------------------------------------------------------------------
※ シート名は関係なく一番左側のシートで対応します。
※ ファイル名も同じで無くてもよく、簡単に選択できるようにしました。
※ 比較するファイルは、マクロのファイルが有るフォルダーのサブフォルダにおいた方がファイル指定が楽になります。
※ もしかしたら比較元と比較先が逆かも知れません。適当に直して下さい。
ありがとうございます!
恐縮なのですが
元々着色されてた部分をそのままにしたいのですが可能でしょうか?
可能であればどの部分をどの様に変えれば良いでしょうか?
No.4
- 回答日時:
余計な事をしてしまいましたね。
次の連続している2行を削除して下さい。「Else」
「.Cells(行, 列).Interior.ColorIndex = xlNone」
No.1
- 回答日時:
「別々のファイルに有り」は「別々のフォルダーに有り」の間違いだとして、フォルダー指定やファイル名はどのようにするのですか?
また比較するブックはのシート構成は1枚だけでしょうか?
赤く着色するのは「①」「②」「①と②両方」のどれになりますか?
申し訳ありません
別々のフォルダです
フォルダの指定は
無理であれば何処でも構わないのですが出来ればVBA起動時に選択出来る様にしたいです
シート構成はsheet1に比較対象が有ります
sheet2以降は無視で問題有りません
着色は②の内容を書き込んだ③のエクセルに行いたいです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
エクセルで他のファイルのセル...
-
複数のtxtの特定部分を抽出し、...
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
EXCELで上書き保存しないと反映...
-
エクセル関数の解読サイトなん...
-
メモ帳(拡張子log)の数字デー...
-
時間によってファイル名が変わ...
-
エクセル0:00と表示される原因
-
エクセル 列の最大数はIV?
-
エクセルに貼った画像が変形し...
-
共有しているEXCELシートのアク...
-
エクセルの中にエクセルを添付...
-
エクセルにクリックすると指定...
-
エクセル文書を保存したらメモ...
-
特定の倍数の合計は?
-
エクセルのマウス操作(左クリ...
-
過去の定額郵便貯金の金利表
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
Excel 2枚目のブックが開かな...
-
ファイル内にある数字の出現回...
-
CPU使用率が100%となっ...
-
エクセルで他のファイルのセル...
-
複数のtxtの特定部分を抽出し、...
-
PhotoshopでExcelのファイルが...
-
エクセルでハイパーリンクが貼...
-
マクロでシートのデータをコピ...
-
MATLABでcsvファイルを読み込も...
-
マクロで別ファイルのシートコ...
-
エクセルマクロ 数式【VLOOKUP...
-
Excel2000でフォルダを移動する...
-
EXCEL:二つのエクセルファイル...
-
VBAで集計元のファイル名を取得...
-
excel ファイル
-
EXCELを複数起動して別ファイル...
-
autocad LT 外部参照一覧表の「...
-
エクセル保存後に別のブックの...
おすすめ情報