
何をどうすればよいのか解らず。。お力を貸していただきたいです。
マスターのリストがあり、全部で36000行くらいあります。
カラムはA列~I列まであり、A~F列まではすでにデータが入っています。
各項目は
A列 B列 C列 D列 E列 F列 G列 H列 I列
フラグ1 フラグ2 フラグ3 No 商品 担当 結果 個数 注意事項
F列の担当者は全部で10名程度います。
担当者10名に36000行全てのデータが入ったリストを配布し、
自分の担当分の行を確認し内容に応じてG~I列を入力していきます。
(内容によっては何も入力しない場合もあります)
最終的に担当者ごとにブックが出来上がるのですが
配布前のリストの同じNoの行にG列~I列を上書きしてそれぞれの担当分の結果をマージして保存したいです。
VBAを作成するときに常に同じような内容を検索し、参考にさせていただき編集していたのですが
今回同じような内容のものが見当たらず、どのように記載すればよいのか解らず困ってしまいました。
添付は配布元のリストです。
どなたかお力添えいただけると嬉しいです。よろしくお願いいたします。

No.4ベストアンサー
- 回答日時:
なるほどですね。
謝る必要はありません。
少なくとも私に対しては、(承知で回答しています)
設計や要件がしっかり出来ていてVBAの書き方が分らない。と、ご質問される方がいらっしゃいますが、よくここは、作成依頼する所ではありませんと言われているのを見ます。
私も同感です。解っていれば、検索や自身である程度出来ると思うからです。
仕様が纏らずどうすれば良いか、~のようなことは出来るのかと言うのは、全体のロジックが纏っていないので当然で、うまく説明できないと思っています。本題から離れてしまいました。。すみません。
担当者は、電話対応などで担当者名(又は要件)でフィルタを掛け対応するのですね。
>G列に値が入っている場合はそのセルの行全体をコピー元ファイルの同じ
NOのところに貼付け・・
これがシンプルで良さそうです。
ただ、36000行が引っ掛かります。
担当者変更データを配列に入れるのが良いのか、作業用シートを1枚作っておき担当者変更データ行範囲を一旦貼り付け、処理を進めるのが良いのか、、ですね。もちろん他にも良い方法があるかも知れません。
その他もまれに変更する場合があるとの事なので行範囲コピペですかね。
書式を含まないなら、代入式でも良いかもですが。
後から、フォルダ内すべてを対象に変更できるので、
まず、1つのファイルに対して処理をするのはどうでしょう。
参考になるか分かりませんが、実行コードをサンプルします。
条件は、マクロ実行ブックに作業用シートを追加してください。
処理は、開くファイルをダイアログで選びます。
そのシートにG列に値がある範囲をフィルタで
可視セルをコピーして、作業用シートに貼り付けます。
Sub Sample()
Dim TgtFilePath As String
Dim TgtBk As Workbook
Dim MyBk As Workbook
Dim wokSh As Worksheet
Set MyBk = ActiveWorkbook
Set wokSh = MyBk.Sheets("作業用")
wokSh.Activate
TgtFilePath = Application.GetOpenFilename("Excelファイル(*.xlsx),*xlsx")
If TgtFilePath = "False" Then Exit Sub
Application.ScreenUpdating = False
wokSh.Cells.ClearContents
With Workbooks.Open(TgtFilePath)
With ActiveSheet
If .AutoFilterMode Then .AutoFilterMode = False
.Range("A1").AutoFilter Field:=7, Criteria1:="<>"
.Range("A1").CurrentRegion.Copy wokSh.Range("A1")
.AutoFilterMode = False
End With
.Close SaveChanges:=False
End With
Application.ScreenUpdating = True
'マスタファイルでの転記処理
End Sub
ありがとうございます。お礼がとても遅くなってしまいました。
丁寧に記載していただいたので、これを元に自分なりに色々工夫してみまし。
記載していただいた内容を自分で解読するのにこんなに時間がかかってしまうとは・・・・
とっても助かりました!!
ここは、ほんとに皆様親切でいつもいつも助けられています。
勉強不足の私にもとても優しく丁寧に教えてくださって本当にありがとうございました。
No.6
- 回答日時:
>F列担当者部分は最初空欄で後から記入したりする場合があるため固定では無い想定です。
ということですが、
No1(2行目)は、田中さんの割り当てですが、
田中さんのファイルの処理を行うとき(マクロを実行したとき)、(各担当者からファイルが送られてきて、マスターにまとめるマクロを実行したとき)
1)田中さんのファイルの2行目のF列は空白なのですか、それとも、田中と記入記入されているのでしょうか。
2)同様にマスターの2行目のF列は空白なのですか、それとも、田中と記入記入されているのでしょうか。
No.5
- 回答日時:
例えば、こんなやり方はいかがでしょうか?
担当Aさんのシートの全セルを選択し、コピーして、マスターシートにペーストします。ペーストする際、貼り付けのオプションで「空白を無視する」をチェックします。
これを担当Bさん以降、順次、同じ要領でペーストしていけば、ご希望のマージ結果になると思います。
マクロ化しなくてもマニュアル作業で十分、対応できる範囲だと思います。
No.3
- 回答日時:
補足ありがとうございます。
#1の手順では問題が出てしまいますね。コピペの範囲も変わってしまうので、一意のキーワードがあれば、それを関数で探し代入とかになるのかなぁ? D列&E列F列みたいな、、、36000行、10ファイル、、スタックの可能性も出て来るかも。。
まだ、設計段階なのでしょうか、管理番号のような列を加えた方が良いかもしれませんね。(名前と管理番号、空白でない等で処理していく場合)
処理的にマスターを名前でソートするなどすれば、範囲が特定出来て処理速度が上がると思います。
担当者に渡すリスト表は、36000行(他の担当が)あるリストを渡すとは考えにくいのでは、また、担当者リストのフォーマットや繰り返し未入力リスト(未入力部分のみ)を担当者に渡し、マスターに追加するような追加処理があるのか、など決めていく必要がありそうですね。。
各担当に渡す表を出力するVBAを先に作った方が良さそう。。
よく考えず、ざっくり#1を回答してしまいましたが、まだ要件定義が必要な感じがします。後から変更や追加となるとVBAの改修も大変になるかなと思います。
早々のご回答ありがとうございます。
>まだ要件定義が必要な感じがします。
おっしゃる通りです。
36000行全てを配布したいのは、業者から電話がかかってきた際に10名誰が電話に出ても入力対応ができるように他の担当者分のリストを全て配っておきたいという意図があります。
また、共有ファイルサーバが無いためメールで配布、メールで回収ということで皆が一斉に入力できるような環境が有りません。36000配っておくのが無難だろうという判断に至りました。
D列のNoを管理番号として割り振ってみました!
G列に値が入っている場合はそのセルの行全体をコピー
元ファイルの同じNOのところに貼付け
というのが理想でしたが、それで良いのか
また、何から検索すればよいのか・・・・と
親身に相談に乗っていただき、回答まで頂いているのに私の語彙力と説明力がなさすぎるため申し訳有りません。
No.1
- 回答日時:
こんばんは、
方法は色々あると思いますが、ロジックでいくつか解らない点があります
10名程度のファイルを一度に処理するのでしょうか?1ファイルずつ行うのでしょうか。それで取得方法が変わります。また、同じフォルダに集める場合は同じファイル名が使えません。。少し脱線しました。
本題
渡したマスターのリストの表組は、変わらないと言う事でしょうか、
差分で検証する事は出来ますが、、ここは、重要。
絶対に変わらないのであれば、だれが入力した物でも変わらないので、元マスター表のF列担当者に担当者名でフィルタを掛け、担当ファイルの同様箇所に担当者名でフィルタを掛け、可視セルに対してコピペ、10名(ファイル)程度繰り返す。こんな感じで出来そうですが、、
フィルタ、可視セルコピーなどで探せばすぐに参考コードが見つかると思います。
表組が崩れるとなると一意のワードを見つけるか作る必要があり、36000行なら、少々大変ですね。
確かにフィルタでできそうですね!!とても参考になりました!
ただ、元データ側で36000件F列に全て担当者名が入っているわけではなく、後から入力される場合があります。まれに変更も想定しております。
Noをキーにしたかったのですが、、、検索ワードも思いつかず。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) VBAで重複データを確認したい 5 2022/10/07 16:24
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Visual Basic(VBA) 【VBA】指定した検索条件に一致したら別シートに転記したい 2 2022/03/23 16:14
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) excelにおける転記マクロの書き方 2 2023/05/12 03:16
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
ある条件を満たすセルに対応する行のセル内容をコピーして・・
Visual Basic(VBA)
-
-
4
エクセルVBAで、ある指定した文字を含む行だけを選択したいのですが、、 例えば、1〜20行目までに"12181697"
Excel(エクセル)
-
5
【Excel VBA】 B列に特定の文字列があった場合にA列の値を変更する
Visual Basic(VBA)
-
6
【VBA】特定の文字が入っている行の一部を抽出して別シートコピーするには
Visual Basic(VBA)
-
7
VBA 何かしら文字が入っていたら
Visual Basic(VBA)
-
8
特定の文字を条件に行挿入とそこからセルデータを追加するVBAについて
Visual Basic(VBA)
-
9
vba 隣のセルに値がある行だけ関数をコピー&ペーストしたい A1 100001 A2 100002
Visual Basic(VBA)
-
10
エクセルVBAで、ある文字を含んでいたら別シートに抽出したい
Excel(エクセル)
-
11
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
12
特定文字のある行の前に空白行を挿入したい
その他(Microsoft Office)
-
13
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
14
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
15
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
16
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
17
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
18
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
19
ある列のセルに特定の文字が入っていたら他のセルに決まった文字を入れる
Word(ワード)
-
20
エクセルVBAのIFを使ったコピペ
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
エクセル 文字数 多い順 並...
-
文字列に数字を含むセルを調べたい
-
【VBA】特定列に文字が入ってい...
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
エクセルで、列の空欄に隣の列...
-
エクセルの表から正の数、負の...
-
「B列が日曜の場合」C列に/...
-
エクセルで一列おきに空白列を...
-
エクセルの項目軸を左寄せにしたい
-
エクセルのセル内の文字の一部...
-
オートフィルターをかけ、#N/A...
-
EXCELで 一桁の数値を二桁に
-
エクセルの関数(日数の平均の...
-
A列がない・・・A列が非表示に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
Excelで半角の文字を含むセルを...
-
2つのエクセルのデータを同じよ...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセルの項目軸を左寄せにしたい
-
エクセルの表から正の数、負の...
-
エクセル(勝手に太字になる)
-
エクセルで最初のスペースまで...
-
エクセルで文字が混じった数字...
-
文字列に数字を含むセルを調べたい
-
「B列が日曜の場合」C列に/...
-
VBAで文字列を数値に変換したい
-
オートフィルターをかけ、#N/A...
-
エクセル 同じ値を探して隣の...
-
Excel、市から登録している住所...
-
エクセルで、列の空欄に隣の列...
-
【VBA】特定列に文字が入ってい...
-
エクセルの関数(日数の平均の...
おすすめ情報
ご確認いただきありがとうございます。
10名のファイルを1つのフォルダに集めて一度に処理する予定です。
ファイル名は名前_mmddにする予定なので問題ないかと思います。
本題部分ですが
表組みの変更ななく固定ですが
F列担当者部分は最初空欄で後から記入したりする場合があるため固定では無い想定です。
肝心な情報が抜けており申し訳有りません。