プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。

先日、保存ブックを開かずにコピーペーストするマクロは可能でしょうか?
という質問が投稿されているのを拝見させていただきました。
私もそのような事がしたかったのもあって、さっそくサンプルをコピーして
みたのですが、超初心者なもので記述されている内容が全然分からず、
止まってしまいました。

お手数ですが改めて質問させていただきます。
私のしたい内容は以下の通りです。
【内容】
フォルダ内に4つのブックを作成しています。
1・営業1課(ブック名) 課集計表(シート名)・・・シート保護をしています。
2・営業2課(ブック名) 課集計表(シート名)・・・シート保護をしています。
3・営業3課(ブック名) 課集計表(シート名)・・・シート保護をしています。
4・営業集計(ブック名) 1課集計表(シート名)
4・営業集計(ブック名) 2課集計表(シート名)
4・営業集計(ブック名) 3課集計表(シート名)
4・営業集計(ブック名) 全課集計表(シート名)

1~3は各課の同じ集計表に各課の数値が集計されるようになっております。
4の営業集計に1~3の各課集計表シート作成しています。

4の各課のシートに1~3の課集計表の値だけのコピーペーストを考えています。

申し訳ございませんが、今一度どなたかご伝授お願いできませんでしょうか。
よろしくお願いいたします。

イメージ画像を添付させていただきます。

「保存ブックを開かずコピーペーストするマク」の質問画像

A 回答 (1件)

以下のマクロを標準モジュールへ登録してください。


Const folder As String = "D:\goo\excel\goo234\"
がブックの格納フォルダです。あなたの環境にあわせて適切に設定してください。
尚、営業1課.xlsx、1課集計表、等の数字1~3は半角であることが前提です。
もし、このブック名、シート名が全角なら、マクロ内のコードも全角にしてください。
全角、半角が不一致の場合、エラーになります。
--------------------------------------------------
Option Explicit

Const folder As String = "D:\goo\excel\goo234\" '最後に必ず\を付けること
Const basebook As String = "営業集計.xlsx"
Public Sub 集計表コピー()
Workbooks.Open Filename:=folder & basebook
Call CopyData("営業1課.xlsx", "課集計表", "1課集計表")
Call CopyData("営業2課.xlsx", "課集計表", "2課集計表")
Call CopyData("営業3課.xlsx", "課集計表", "3課集計表")
Application.DisplayAlerts = False
Workbooks(basebook).Save
Application.DisplayAlerts = True
Workbooks(basebook).Close
MsgBox ("コピー完了")
End Sub

Private Sub CopyData(ByVal srcbook As String, ByVal srcsheet As String, ByVal trgsheet As String)
Workbooks.Open Filename:=folder & srcbook
Workbooks(srcbook).Worksheets(srcsheet).Range("C3:I21").Copy Workbooks(basebook).Worksheets(trgsheet).Range("C3:I21")
Workbooks(srcbook).Close
End Sub
-------------------------------------------------
    • good
    • 0
この回答へのお礼

tatsu99さんへ

ご教授ありがとうございました。
頂いたコードで希望通りに値のコピーができたのですが、
ちゃんと理解したいので、悩んでいる追加の質問をさせて
ください。

"営業集計.xlsx"ファイルの標準モジュールにコードを記述して
そのファイルを閉じる時に保存形式を変更して保存しないと
せっかく記述したコードがなくなってしまうので、保存形式を
"営業集計.xlsm"にて保存すると同名でファイル形式の違う
ファイルができます。
コーピーペーストするにあたり、"営業集計.xlsm"を開いてマクロを実行
すると、"営業集計.xlsx"ファイルに値のコピーされます。
このような利用方法でいいのでしょうか。

"営業集計.xlsx"ファイル何か仕掛けが必要ですか。

本当に申し訳けございません。
今一度、ご教授頂けませんでしょうか。

お礼日時:2017/10/20 00:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A