![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
はじめまして。
マクロ・VBA初心者の為、教えていただけたらと思います。
win7で、エクセル2013の使用をしております。
エクセルの共有がどうしてもうまくいかない部分があり、
Aの共有ブックをサーバーに置き、Bのブックをローカル。
Aの共有ブックから、Bのローカルのブックに全ての内容をコピー。
Bのローカルブックに更新内容を記載し、
Bのローカルブックで更新した部分だけをAの共有ブックに反映させる方法を模索しております。
更新部分だけにしたいのは、Aのブックは幾つかのシートが入っていますが、
複数人数で更新する可能性がある為、かぶる危険性を最小にしたい為、
更新部分のみを抽出⇒コピーをしたいと考えております。
全ての内容をコピーする事までは、
Aのシートの中身は位置等が決まっており、反映部分もBのシートと同じ位置の為、
マクロで作成できましたが、
その後の、AとBのシートの更新情報を取る方法が解らない為、質問させていただきました。
更新部分だけを反映させる組み方を教えていただけないでしょうか?
よろしくお願い致します。
※内容として不足事項もありましたら、ご指摘いただければと思います。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>Bのローカルブックで更新した部分だけをAの共有ブックに反映させる方法
方法1:
Aを開く
校閲タブからブックの共有を設定し保存する
保存したAブックをローカルにコピーする
ローカルで編集する
エクセルのリボンの編集を開始
全てのコマンドから「ブックの比較と反映」を追加してOK
Aブックを開き、ブックの比較と繁栄でローカルで編集した各ブックの変更を吸い上げる。
方法2:
ブックの共有は「使用しない」
各ローカルにコピーしたブックは、サーバの「ブックA」とは「異なるファイル名にしておく」
ローカルにコピーしたブックを開く
ALT+F11を押す
現れた画面でプロジェクトエクスプローラから当該のブックのThisWorkbookシートをWクリックする
現れたシートに下記をコピー貼り付ける
private sub Workbook_SheetChange(byval Sh as object, byval Target as excel.range)
dim myPath as string
dim myFile as string
’言わずもがなですが正しく記入すること
mypath = "\\コンピュータ名\公開フォルダ名\フォルダ\"
myfile = "BookA.xlsm"
application.screenupdating = false
workbooks.open mypath & myfile
target.copy workbooks(myfile).worksheets(sh.name).range(target.address)
workbooks(myfile).close true
application.screenupdating = true
end sub
ファイルメニューから終了してエクセルに戻る
ブックを保存する
ブックを開き、更新すると「その都度」Aブックに反映する。
この回答への補足
AとBのブックを分けたい理由も明記するべきでした。すみません・・・。
AとBを分けたい理由は、「条件付書式」に有ります。
今回、共有エラーの発生確率が上がる(っぽい)理由として、条件書式かな?というところまでで、
それを外すと共有は出来るのですが、
条件付書式が無いと、とても見づらい表になってしまう為、この方法をとらざる得ないといったところです。
条件付書式がBのブックには入っていて、
Aのブックから「値貼り付け」で、データの吸出しをしています。
(コピペだと条件付書式が外れる為)
もちろんの事ですが、Aのブックには数式は入ってないので、
BからAに持っていった時に数式が崩れる様な問題は有りません。
そもそも表からみなおさなければいけないのかもしれませんが、
行数とシート数が複数存在していることもあるので、(まとめることの出来ないシート)
Aの元データのシートと、Bの条件付書式の入ったシートという事で、良い方法を模索しております。
早々の回答ありがとうございました!!!
(1)の機能自体知りませんでした。とても勉強になりました!!
まだまだ知らない事ばかりです・・・。
VBAのソースもこれから勉強させていただきます。
ただ、すみません。ご返答頂いた2つとも
Bのローカルブックで更新した部分だけをAの共有ブックに反映させる方法
としては、上手く行ったのですが、
「AのブックからBのブックにコピー」が
反映できない状態となってしまいました・・・。
(1)つ目だと、マクロ形式のブックが読み込めない様ですし、
(2)つ目だと、Bのブックを開いた状態で、Aのブックを開いた時点で、エラーが発生してしまう為、Aのブックから最新状態のコピーは出来ないかな?と。。。
複数人数で作業する可能性が高い為、
毎回ブック自体をコピーして~というのがまき戻りされそうで怖いというのも有って・・・
(・・・わがままで申し訳ありません。)
今回、欲しい内容としては、(1)の方が近いですが、
使い勝手は(2)の方がよさそうだな。と思いました。
とても勉強になりました。
AとBのブックを分けたい理由を補足に記載させて頂きました。
もし、他の方法でも良いので、いい方法ありましたら、ご教授いただけたらと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
Excelの警告について
-
エクセルを共有するとPCによっ...
-
VBAでブックを非表示で開いて処...
-
Excel(2010)のフィルターが保...
-
ブックのピボットを別ブックに...
-
エクセルにおける,「ブック」...
-
Excelファイルをダブルクリック...
-
Excel起動時に特定のワークシー...
-
WorkBooksをオープンさせずにシ...
-
Excelで複数ブックの同一セルに...
-
エクセル 複数のブックを一度...
-
エクセルで参照しているデータ...
-
エクセルファイルを開かずにpdf...
-
エクセルでSheetの数は最大限ど...
-
VBA: ブックをアクティベイトで...
-
エクセルで別ブックをバックグ...
-
MSアクセスのインポート手法(パ...
-
Excelでブックの共有を掛けると...
-
外部ブック参照が#REF!になって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
Excelの警告について
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルにおける,「ブック」...
-
WorkBooksをオープンさせずにシ...
-
エクセルで参照しているデータ...
-
エクセルで「ディスクがいっぱ...
-
Excelで複数ブックの同一セルに...
-
【マクロ】【VBA】別ブックへの...
-
Excel(2010)のフィルターが保...
-
Excelでブックの共有を掛けると...
-
エクセルで50行ごとに区切った...
-
エクセルでウィンドウの枠固定...
-
同じフォルダへのハイパーリン...
-
ブックのピボットを別ブックに...
-
VBAでブック保護非保護を判定す...
-
エクセルファイルを開かずにpdf...
-
【マクロ】for nest について ...
-
フォルダ内の複数ファイルから...
おすすめ情報