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

リベンジです…
以前も投稿したのですが、やはりできません。
助けてください
シート("出")の値を別のファイルのシート("m")へ転記したいです、
シート("m")が入ってるExcelの名前が、集計表.xlsです!
集計表.xlsを開いて、シート("出")の値を
集計表.xleのシート("m")へ転記したいです!
またシート("出")はマクロファイルでそれは自分で開いて操作します!
以下のコードで別ファイルへの転記のやり方教えてください!
よろしくお願い申し上げます。


sub 出来高 ()

m = Format(Date, "m月")

for i = 4 to 7
 
if Sheets("1月").Range(“A" & i).Value = "" Then

 With Sheets("m")
.Range("A" & i).Value = Date
.Range("B" & i).Value=Sheets("出").Range("B3").Value
.Range("C" & i).Value=Sheets("出").Range("B4").Value
.Range("D" & i).Value=Sheets("出").Range("B5").Value
End With

Exit for
End if

Next

Msg Box "完了しました"
Sheets("出").Range("B3:B5").Clear Contents

End Sub

A 回答 (5件)

以下のようにしてください。



Sub 出来高()
Dim m As String
Dim i As Long
Dim srcWS As Worksheet
Dim dstWS As Worksheet
m = Format(Date, "m月")
Set srcWS = ThisWorkbook.Worksheets("出")
Set dstWS = Workbooks("集計表.xls").Worksheets(m)
For i = 4 To 7

If dstWS.Range("A" & i).Value = "" Then

With dstWS
.Range("A" & i).Value = Date
.Range("B" & i).Value = srcWS.Range("B3").Value
.Range("C" & i).Value = srcWS.Range("B4").Value
.Range("D" & i).Value = srcWS.Range("B5").Value
End With

Exit For
End If

Next

MsgBox "完了しました"
ThisWorkbook.Worksheets("出").Range("B3:B5").ClearContents

End Sub
    • good
    • 0
この回答へのお礼

コメントありがとうございます^ ^
コードでコメントくれるのまってました…
助かります!

転記したいファイルは開かなくても転記されるのでしょうか?

お礼日時:2022/03/04 21:07

回答は既に出てますので質問文のコードをちょっと弄った物を参考として。



.Range("A" & i).Resize(, 4).Value =Array(Date, Sheets("出").Range("B3").Value, Sheets("出").Range("B4").Value, Sheets("出").Range("B5").Value)

連続するのなら Resize や配列などで纏めるのも手ですかね。
    • good
    • 0
この回答へのお礼

コメントありがとうございます♪
やってみます!^ ^

ほんと助かります…感

お礼日時:2022/03/04 21:00

if Sheets("1月").Range(“A" & i).Value = "" Then


とありますが、
この1月のシートは、マクロのあるブック側ですか。
(シート:出のあるほう )
それとも、集計表.xls側ですか。
集計表.xls側だとすれば、”1月”固定なくて、
m で示される月になりませんか。
(マクロ実行日が3月4日なら"3月")
    • good
    • 0
この回答へのお礼

集計表のほうです!
マクロ実行日で変わる仕様になってます!
入力ミスで1月なってますがmで設定してます!

お礼日時:2022/03/04 12:44

No.1です。



>シート("出")の値を別のファイルのシート("m")へ転記したいです、
>シート("m")が入ってるExcelの名前が、集計表.xlsです!
>集計表.xlsを開いて、シート("出")の値を
>集計表.xleのシート("m")へ転記したいです!

Bookを開くなりマクロを組んだBookを変数化して、Sheetオブジェクトの前にBookを明確に指定する必要があるのかもですね。

現状では同じBookの違うシート同士での作業になってしまいます。
https://excel-ubara.com/excelvba1/EXCELVBA353.html
https://excel-ubara.com/excelvba1/EXCELVBA352.html
    • good
    • 0
この回答へのお礼

コメントありがとうございます^ ^
試してみます!

お礼日時:2022/03/04 12:49

前回気になりましたが、



With Sheets("m")

変数を "" でくくってはダメでは?
それとも前回同様入力時の打ち間違い?

With Sheets(m)

それと

if Sheets("1月").Range(“A" & i).Value = "" Then

1月のシートのセルA1がって条件は正しいのですかね?
代入するシートなら

if .Range(“A" & i).Value = "" Then

かな?

質問するならコードをコピペしたほうが、間違い箇所が伝わると思いますよ。
手打ちの間違い探しじゃ回答者は呆れるかも。
    • good
    • 0
この回答へのお礼

コメントありがとうございます
すいません間違いばかりで伝わりづらいですよね…

マクロ実行日でシートが変わる仕様になってます!
シート1月は入力ミスですが…

お礼日時:2022/03/04 12:48

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