こんにちは。どうしてもできないのでお力をお貸し下さい。
(質問内容)
同じフォームのエクセルのワークシートで、毎日新しい数十件の物流情報が手元に届きます。私の仕事は、一日前に作ったワークシートにその日届いたばかりの新しいワークシートの情報をマージしてお客様へ転送しています。
毎日届くワークシートには前日までの古い物流情報も載って来ます。つまり、新しいワークシートをそのまま転送するのではなく、古いワークシートにマージして、新しいワークシートで内容に変更があった行と、全く新しい追加行のセルだけハイライトして、お客様に当日分の物流情報として分かるようにする必要があります。このワークシートのマージを手作業でやっているため、以下の手作業が発生しています。
1.新しいワークシートの全てのセルをコピーして前日のワークシートの最終行のすぐ後にペーストする。
2.製品番号でソートして同じ製品番号のものを上下で並べる。
3.上下の行をよく比べて、内容の変更のあったものについては、新しい行で古い行を上書きし、その行をハイライトする。全く新しい製品行が追加されている場合は、そのままその行をハイライトする。
4.最後に製品番号で重複するものを削除する。
という風にして、当日届いた情報を前日までのものに追加して、その内容で変更のあったものと、追加行をハイライトする訳です。
この作業をマクロを使って自動化できないでしょうか?少し複雑ですが、何卒宜しくお願いします。
No.2
- 回答日時:
使ったことがないのではっきりとは分かりませんが
次のフリーソフトが有効と思います。
「ベリファイエクセル」 製作者:野見山さん
参考URL:http://www.vector.co.jp/soft/win95/business/se23 …
ありがとうございます。早速、ダウンロードして解凍し、使ってみました。使い方が悪いのか、まだうまく結果が出てきませんが、時間をかけてやってみます。もし、どうしてもうまくいかないようなら、また質問いたします。
No.1
- 回答日時:
細かいコードはご勘弁を。
先ず、自動記録で大枠を作ってはいかがでしょうか。
その際、マウスを極力使わないように。
それから修正していけば良いかと思います。
注意点としては、
1.最終行の取得 これは65536行からのEnd(xlUp)が無難ですね。途中に空白があっても大丈夫。
2.製品番号以外のキーを第2順位で設定。
3.For Eachで製品番号を比較。一致したら列方向に比較ですね。更に一致の場合、色を着ける。上書きという考えより、削除が楽ですね。
4."3."の作業で色を着けた行を配列として取って置く、あるいはどこかに書き出しちゃうのが簡単かな。
実際には「3.」以降の更新行に対する作業を別物として分けた方がスッキリするんでしょうね。
これらの内容で具体的に分からない部分を更に聞いて頂けると答えやすかったりします^^;
アドバイスありがとうございます。少し時間をかけてコードを考えて行きたいと思います。プログラミングは初心者なのでちょっと自信がないのですが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
Excelで日付変更ごとに、自動的...
-
エクセルで名簿を50音で切り分ける
-
excelの不要な行の削除ができな...
-
シート削除して同名シート追加...
-
他のシートの一番下の行データ...
-
VBAで CTRL+HOMEの位置へ移動...
-
エクセル VBA VLOOKUP
-
エクセル マクロ "特定の日付...
-
【エクセルマクロ】複数シート...
-
オートフィルタで抽出したデー...
-
Excel 売上管理シートに入力し...
-
Excelファイルの容量が異常に大...
-
エクセルで複数行のデータを1列...
-
エクセルで一覧表から担当別シ...
-
エクセルのファイルが8MBも!!
-
エクセルで行の自動非表示の方法は
-
ピボットテーブルのデータソー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
excelの不要な行の削除ができな...
-
VBAで CTRL+HOMEの位置へ移動...
-
(VBAにて)日付でデータを抽出す...
-
EXCELで2つのファイルから重複...
-
他のシートの一番下の行データ...
-
エクセルのカメラ機能について
-
トランジスタの選び方
-
別々のシートの表をピボットテ...
-
エクセル 縦に長い表の印刷時...
-
EXCEL 複数行のデータを1行にま...
-
【エクセル」 特定のセルで条件...
-
オートフィルタで抽出したデー...
-
Excel 売上管理シートに入力し...
-
エクセル VBA VLOOKUP
-
EXCEL の表を一行ずつシートに...
おすすめ情報