マスタシートには、各店舗の累積データが入っており、日々データが追加されております。
毎日の作業として、
1.マスタシートを、各店舗別シートにコピーをする。(シート名は店舗コード)*マクロで自動化済
2.各店舗別シートの、特記事項を修正。*手作業
3.修正した行を、マスタシートの対象行に上書き。*手作業
4.修正した行のみ、修正データシートへ貼り付け。*手作業
3と4の手作業を自動化しようと、データの通番(A列)と、特記事項(P列)をキーにして、
Dictionaryを使い、一致しないデータを抽出しようとやってみましたが、
うまくいかず悩んでおります。
データには、通番・店舗コード・店舗名・特記事項などがあります。
何か良い方法があったら、教えて下さい。宜しくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こういう仕事関係の(単一課題でない)問題の質問は、簡単な実例でも挙げて説明してもらわないと、回答者が時間をかけて推測して、理解せねばならない。
画面も見られず、今始めて考えさせられる事項なんだから。質問する側はその辺考えてほしい。ーーー
まず(本件考えている)シートは2つあります
(A)マスターシート(名前は?質問では仮にでもつけること)
(B)店舗別シート(シート名は店舗コード)
(A)から(B)を点別に振り分けて作成(この作業はVBAで済み)
ーー
特記事項という文字情報を、店舗別シートのある列に入力。(どの列?質問では仮にでもつけること)。ここは自動化しようが無い。
ーー
店舗別シートに入れた情報を、マスタに反映させたい。
全店舗入力済み後まとめて転記でいいのですね(バッチ作業)
ただマスタには1店舗情報は1行なのか?(この点当然ではない。質問に書くべき)
1行(ユニーク)なら、
シート名(ほかにも店舗コードはシート名内のセルにあるのでは。書くべき。普通はデータはセル値から採る)
ーー>マスタの店舗コード行を検索ーー>所定の列・セル(列がどこか?質問には書いてない)に特記事項を代入
で良いのかな
ーー
>修正した行のみ、修正データシートへ貼り付け
突然>修正データシートというシートが出てきているが、どういうものか。私の当初2シートと思ったのは誤りか。
初めに3シートを問題にしますと書くこと。
ーー
>Dictionaryを使い、一
VBScpitなんか勉強したのかな。その点進んでいるのですね。
であれば
店舗シートで決まる店舗コードでFindメソッドでマスタの該当行を(ユニークとして)探せば済むだけの話ではないの。
ーーーー
ただ少し長期的に見た場合、
店舗の増加
第2、第3・・の特記事項の追加があったときどう見つけるのかな。
現状の直前状態の店舗シートの状態データでマスタ特記事項部は全部置き換えするのか。
ーー
仕事関連のまとまった1作業を質問を他人に判らせるということが文章では大変だということを再認識のこと。
======
色々言ったが
店舗シートで決まる店舗コードで、マスタの店舗コード列を、Findメソッドで、該当行を(ユニークとして)探せば特記事項を転記すべき行がわかるのでは。
実情と私の理解が違う点も含めてコメントください。
例データ
店舗コード
112321
112322
112325
ーー
Sub test01()
Dim r As Range
Set r = Worksheets("Sheet1").Range("A2:A50").Find(112322)
MsgBox r.Row
r.Offset(0, 2) = "社長ワンマン、優良先"
End Sub
この回答への補足
解りづらい質問の仕方をしてしまい、大変に申し訳ありませんでした。
また様々な指摘有難うございます。
詳しく説明させて頂きます。(更にわかりづらくなってしまったらスミマセン)
1.シートは[マスタ]シート、[店舗別]シート、[修正データ]シートの3種類があります。但し、[店舗別]シートというのは店舗数分存在します。
店舗は日々増加している為、[店舗別]シートの数は日々変わります。シート名は、店舗コード(数字6桁)を使用しています。
2.[マスタ]シートの項目は、通番・店舗コード・店舗名・TEL・PCNO・処理結果・特記事項などがあります。
日々実施されている、各店舗のパソコンへのアップデートの処理結果の累積表になっているため、1店舗情報は数行(日数分)存在します。
3.特記事項には、店舗への確認情報を記入しております。
4.店舗数が数十件あるため、[マスタ]シートから、店舗コードごとに抽出をして、店舗コードごとにシートを作り、内容を修正しています。
この後、修正した行のみを、通番(A列)と特記事項(P列)をキーにして、[マスタ]シートの同じ通番に上書きすると共に、[修正データ]シートに修正した行をコピーしたいと思っております。
同じシート内で、A,B列とC,D列を比較し、一致しないデータを抽出し、E,F列に表示するという以下の方法を、ネットでみつけました。
これを応用し、[マスタ]シートのA列(通番)とP列(特記事項)をキーにして、各店舗別シートを1つのシートに纏め、A列(通番)とP列(特記事項)を比較し、一致しないデータの抽出をしようと試みましたが、うまくいかず何か他に良い方法はないかと思い、質問させてもらいました。
説明が長くなってしまい、申し訳ありません。
何か良い方法がありましたら、ご教授願います。
---------------------------------------------------------
Dim v,w,ky,i&,ss$
Dim dic As Object
v=Range("A2",Range("A1").End(xlDown)).Resize(,2).Value
w=Range("C2",Range("C1").End(xlDown)).Resize(,2).Value
Set dic=CreateObject("Scripting.Dictionary")
For i=1 To UBound(v)
ss=v(i,1) & "|" & v(i,2)
dic(ss)=Empty
Next
For i=1 To Ubound(w)
ss=w(i,1) & "|" & w(i,2)
If dic.Exists(ss) Then
dic.Remove ss
End If
Next
ReDim v(1 To dic.Count,1 To 2)
i=0
For Each ky In dic.Keys
i=i+1
w=Split(ky,"|")
v(i,1)=w(0)
v(i,1)=w(1)
Next
Range("E2").Resize(dic.Count,2).Value=v
Set dic=Nothing
---------------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
VBAでのリスト不一致抽出について
Visual Basic(VBA)
-
EXCELで2つのシートから一致しない情報だけ抽出
Excel(エクセル)
-
ExcelVBAでデータ不一致のものの抽出
Excel(エクセル)
-
-
4
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
5
エクセルVBAで 2種のリストを比べて重複していないデータを最下行に追加するには
Excel(エクセル)
-
6
A列にあってB列にはない単語をC列に残したいです。
Excel(エクセル)
-
7
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
8
離れた2列を比べて重複しないデータを隣の列に表示させる方法 Excel
Visual Basic(VBA)
-
9
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
VBA セルの値と同じ名前のシー...
-
VBAのoffsetの動き方について教...
-
Excelの中央値の複数条件について
-
エクセルのワークシートが重く...
-
Excel VBAを使った重複行の抜き...
-
エクセルファイルを軽くする方法
-
Excel 複数のシートからグラフ...
-
エクセル マクロを使って日々...
-
ピボットテーブルから抽出デー...
-
エクセル 毎日更新する表のデ...
-
エクセル シフト勤務表から、...
-
Excel:グラフの元データをグル...
-
2つ条件である文字の値を参照し...
-
Excelの選択肢をポップアップリ...
-
複数のシートからデータを抽出...
-
テキストボックス内の文字のふ...
-
Excelで数値→文字列変換で指数...
-
エクセルにおける、グラフの指...
-
エクセル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
VBA セルの値と同じ名前のシー...
-
Excel 複数のシートからグラフ...
-
ExcelVBAで、指定したシートに...
-
Excelの中央値の複数条件について
-
Excel ハイパーリンク先のセル...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルのワークシートが重く...
-
VBAでシート名をセルから取得し...
-
エクセルで入力→日付を自動判別...
-
質問:特定文字列から空白行ま...
-
エクセル自動の年月
-
エクセル シフト勤務表から、...
-
エクセル マクロを使って日々...
-
VBAのoffsetの動き方について教...
-
エクセルVBA:表の内容を担当者...
-
Excel日付変更との参照先の連動
-
EXCEL VBA 一致しないデータの...
-
エクセルについて質問です 日付...
-
Excelの選択肢をポップアップリ...
おすすめ情報