はじめまして、こんにちは。
仕事でエクセルを使って困ってしまいました。
現在、社内の各部署が抱えている顧客住所録を、エクセルでシートごとにまとめているのですが(住所の入力フォーマットは共通です)、
これらをさらに別のシートへ重複なくまとめた「一覧表」を作成したいと思っています。
普段はコピー&ペーストでしのげるのですが、各部署の住所録は各人が随時アップデートされるため、その都度コピペをしていると手間となってしまいます。
そこで部署の住所録シートに入力があれば、自動的に「一覧表」シートへの入力も済まされている状態にしたいと考えているのですが、現在まで試行錯誤している次第です。。
そこで下記の要件を満たすにはどのようにすればよいかご指南をお願いいたします。
・各シートにある住所録を、さらに新しい別のシート「一覧表」へまとめたい
・「一覧表」へまとめられた住所録では、重複を省きたい。
・各シートへ新規に入力した住所は、自動的に「一覧表」へも入力されるようにしたい。
No.2ベストアンサー
- 回答日時:
#01です。
「一覧表」シート3行目以降に。他のシートの3行目以降のデータをコピーして集約するマクロです。「一覧表」というシートを作成してから動かして下さい。
マクロは「ALT+F11」でVBE画面を表示し、左上のVBAプロジェクトエクスプローラの「該当シート名右クリック」→「挿入」→「標準モジュール」を選択して開いた画面に貼り付けて下さい。
実行はシート画面に戻り、「ALT+F8」でマクロ一覧を開き、「マクロ名を選択」→「実行」ボタンです。マクロの実行結果はUNDOで戻せないので、予めSAVEしておいて下さい。
Sub Macro()
Dim ws As Worksheet
Dim LastR, LastR2 As Long
Application.ScreenUpdating = False
With Worksheets("一覧表")
.Activate
LastR = .Range("A65536").End(xlUp).Row
If LastR > 2 Then
.Range("A3:G" & LastR).ClearContents
End If
.Range("A3").Select
For Each ws In Worksheets
If ws.Name <> "一覧表" Then
LastR2 = ws.Range("A65536").End(xlUp).Row
ws.Range("A3:G" & LastR2).Copy
ActiveSheet.Paste
.Range("A65536").End(xlUp).Offset(1, 0).Select
End If
Next ws
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
もしブックを開いたときに自動で実行されることを希望されるなら、先頭の一行を以下に置換した上で
Private Sub Workbook_Open()
VBE画面で「ThisWorkBook右クリック」→「コードの表示」で開く画面に貼り付けると、ブックが開くたびに実行されます。
zap35さん、こんばんは。
大変丁寧なご回答をいただけ助かりました。ありがとうございます!
先日は上に泣き通し、おかげさまでなんとか今日の提出とすることができました。
またお礼が遅れて大変失礼いたしました。
これをきっかけに、私ももっとマクロについて勉強をしてみようと思います(n88BASIC時代の人間ですから・・)。
今回は本当にどうもありがとうございました!
No.3
- 回答日時:
(1)こんなのお金を出して、プロにやってもらうしごとですよ。
システムの経験者やアクセスでもできる人ならば、自分でやるでしょうが。「>マクロを組んだことがなく」のレベルなら、勉強する時間の、月給の方が高くつくかもしれない。
良い市販やフリーのソフトでも有ればよいですが。
自作の場合、引継ぎと、エラーが出て、業務に障害があったときの責任をかぶることを良く考えておくこと。
(2)それにデータを統合する(しないといけない)キッカケは、どういうときですか。瞬時にできている仕組みは難しいと思うので。
誰かが、自分の住所録をいじくったとき、即座にであれば、苦しい。
定期的(例月1回)にとか、必要の都度(例 年賀状を出す歳末)
なら、VBAとかで組めるかもしれないが(オフライン・バッチ処理といいます)。
それに住所録作成者は何人ぐらいですか。
(3)どうしてもやるなら、マクロの記録をどう改変したらよいか
勉強する。
例えば
(1)別ブックの例えば5シートを1つにまとめるVBA。
(2)氏名やIDでソートのVBA。
(3)重複分をすて、重複しない行を書き出すVBA
(2)はマクロの記録どおり。
(3)は色々ロジックがあるが、(2)をやれば、全行に亘って、直前行と例えば氏名について、同じかチェックすればよいのでコードは少数で済むと思う。
ーー
本当はデータベース(住所録)を統一する(1つのものをつくり、全員で利用)方向で考えないとダメなんですが、これはシステム担当者の仕事でしょう。
ーー
当面は
http://pc.nikkeibp.co.jp/article/NPC/20060214/22 …
の手作業ですね。
マクロの記録を弄くって、少しでも楽をすることを考えるとか。
imogasiさん、こんばんは。
案件のレベルをきちんと把握せずに質問してしまったようで失礼しました。
またそれにもかかわらず、本件について考えるべき点をご提示下さいまして大変感謝しております。
zap35さんの回答を元に、imogasiさんの考慮点を参考にさせていただきました^^
いいものができたかどうかは分かりませんが、マクロに取り組むきっかけができたことが今回一番の収穫だったと思っています。
どうもありがとうございました!
No.1
- 回答日時:
各シートの住所録を1枚のシートに集約して、オートフィルタオプションもしくは関数式の組合せで重複を省くのが良いのではないでしょうか。
各シートの住所録を1枚のシートに集約するのはマクロを利用するのが良いと思いますがご質問内容からではマクロは組めません。もう少し詳細なシート構成を提示してみたらいかがでしょうか。
重複を省く方法は過去の質問にたくさんの例がありますので「重複 省く」で検索すれば事例は見つかると思います。
zap35さん、ご回答ありがとうございます。
早速検索してみまして、重複を省く例はおそらくこちら(↓)でいけそうであると判断しました。
http://pc.nikkeibp.co.jp/article/NPC/20060214/22 …
またご提案いただきましたように、詳細な構成を申し上げます。
お恥ずかしいことにマクロを組んだことがなく、必要事項に欠ける点がありましたら追記いたしますのでご指摘ください。
・まずシート構成ですが、部署AからMまでの13つのシートがあります。
・各シートは左の列から
NO、相手社名、名前、肩書、相手部署、郵便番号、住所
となっています。
・データは1行に1つの住所で、上から3行目より実データを入力しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Excel(エクセル) フォルダ内の複数ブックを同シート名毎に連結させたい 1 2022/04/07 21:24
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
エクセルの表に別シートの住所録を取込む方法
その他(Microsoft Office)
-
Excelで作った2つの住所録の結合方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを開いたとき常に同じ...
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
マクロで複数シートに条件付き...
-
VBA シート名を先月の名前に...
-
EXCELでワークシートを開いたら...
-
エクセルで、マクロボタンの表...
-
EXCELのエラー
-
EXCELでマクロを使わずに図形の...
-
メッセージボックスでシート名...
-
【Excel】複数あるシート上の住...
-
エクセルのチェックボックス
-
エクセルの複数のワークシート...
-
Excelのマクロの呼び出し元を知...
-
マクロを特定の複数シートで実...
-
エクセルで複数のSheetを一括フ...
-
VBAで条件によってシート見出し...
-
複数シートの保護・解除
-
EXCELの起動時に常に同じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
エクセルを開いたとき常に同じ...
-
エクセルでシートの並び替えで...
-
EXCELでマクロを使わずに図形の...
-
EXCELでワークシートを開いたら...
-
マクロを特定の複数シートで実...
-
EXCELの起動時に常に同じ...
-
マクロ 各シートの決められた位...
-
VBA シート名を先月の名前に...
-
EXCELのエラー
-
VBAで条件によってシート見出し...
-
エクセルで回数をカウントする...
-
エクセル・複数のシートを一度...
-
Excelのマクロの呼び出し元を知...
-
エクセルで複数のSheetを一括フ...
-
シートを保護した時でも並べ替...
-
メッセージボックスでシート名...
-
エクセルで、マクロボタンの表...
おすすめ情報