アプリ版:「スタンプのみでお礼する」機能のリリースについて

2つのブックがあり、別bookシートの該当するデータを抽出コピーして 貼り付けたいのですが?
管理簿bookのsheet3のJ14. J15. J16に
使用量bookのデータのG41.N41.Q41)の月末値を貼り付けたい
使用量bookは同じシートが
1月~12月であります

処理をフローで説明すると以下になります

管理簿のsheet3を開く

使用量ブックシートのtoday月の前の月の末日のデータをコピ―する(データのコピーはG41.N41.Q41)
todayが仮に10月だとしたら9月のシートの(G41.N41.Q41)コピーする

管理簿のsheet3のJ15、J16、J16にそれぞれデータを貼りつける
vBAのゴードは使用料ファイルに標準モジュールが入っています。これでコピペができるんですが、逆に管理簿ファイルに標準モジュールをいれて同じ処理をしたいのですがどのようなゴードになるのでしょうか?
写真添付 上が管理簿bookのsheet3
下が使用料bookになります
以下が使用量ファイルに標準モジュールが入ったコード
使用量bookを開き該当データをコピー

管理簿ブックのsheet3へデータコピペ

Sub コピペ()
sn As String, ws As Worksheet
workbooks.Open F:\管理簿 sheet3.xlsm

sn = Format(DateAdd(m, -1, Date), m月)
Set ws = ThisWorkbook.Worksheets(sn)
With ActiveWorkbook.Worksheets(sheet3)
Range(J14) = ws.Range(G41)
Range(J15) = ws.Range(N41)
Range(J16) = ws.Range(Q41)
Range(J19) = ws.Range(M41)
.Activate

End With
End sub

やりたいこと
管理簿ファイルに標準モジュールコードを入れて同じことを実行したい

管理簿bookのsheet3を開く

使用量ファイルの該当データをコピーする

管理簿ブックのsheet3へデータコピペ
したいのですが?
コードは途中まであとはどなたかご教示いただけないでしょうか、よろしくお願いいたします。
Sub コピペ()
sn As String, ws As Worksheet
workbooks.Open F:\使用量.xlsm

「2つのブックがあり、別bookシートの該」の質問画像

A 回答 (1件)

こんにちは!



カテゴリはACCESSになっていますが、Excelで良いのですね?

お示しのコードで動いているのであれば、
そのまま「管理簿」ブックの標準モジュールにすれば大丈夫だと思うのですが・・・

>管理簿のsheet3のJ15、J16、J16にそれぞれデータを貼りつける

>J14・J15・J16 ですよね?

Sub Sample1()
Dim sN As String, wB As Workbook, wS As Worksheet
sN = Format(DateAdd("m", -1, Date), "m月") '//★//
Workbooks.Open " F:\使用量.xlsm"
Set wB = ActiveWorkbook
Set wS = wB.Worksheets(sN)
With ThisWorkbook.Worksheets("Sheet3")
.Range("J14") = wS.Range("G41")
.Range("J15") = wS.Range("N41")
.Range("J16") = wS.Range("Q41")
.Activate
End With
Application.DisplayAlerts = False
wB.Close
Application.DisplayAlerts = True
End Sub

※ シート名が「○月」となっているのであれば
来年の1月(約3か月間)までしか使えないコードになりますね。

シート名を「H29年9月」のようにしておき、コード内の「★」の行を
>sN = Format(DateAdd("m", -1, Date), "gee年m月")

に変更すれば今後も続けて使えるコードになると思います。m(_ _)m
    • good
    • 0

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