とっておきの「まかない飯」を教えて下さい!

下記のマクロはネットで調べたコードを自分用にアレンジした、マクロです。
このマクロを実行すると、マクロ設定ブックと同じフォルダ内にある、別ブックの指定シートの指定セル値を作業ブックにコピぺできます。
しかし、マクロを実行すると、画像のエラーメッセージが表示され、作業ブックのコピー先のシート「受付」に設定しているVBAコード「With Worksheets("審査")」が黄色く変色してしまいます。
このコード全体では
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tbl As Variant
Dim i As Integer

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
tbl = Array("D10", "D11", "E10", "E11", "F10", "F11")
With Worksheets("審査")
For i = 0 To 5
.Range("C" & 26 + i).Value = Range(tbl(i)).Value
If Range(tbl(i)).Value = "" Then
.Range("F" & 26 + i).Value = ""
Else
.Range("F" & 26 + i).Value = "後日図書の提出をお願いいたします。"
End If
Next i
End With
以下省略
End Sub
となっており、指定セル値に文字が表示されれば、シート名「審査」の指定セルに「後日図書の提出をお願いいたします。」と表示出来るようになっております。
この問題を解決できる方法を教えてください。
現状のマクロ
Sub Macro1()
Dim FilePath As String

'ファイルの入っているフォルダをパスを設定
FilePath = ThisWorkbook.Path

'コピー元のブックを開く
Workbooks.Open FilePath & "\テスト(提出用).xlsx"
'データをコピー
Workbooks("テスト(提出用).xlsx").Worksheets("提出シート").Range("B2:H47").Copy _
Workbooks("総合引き受け(1-1)(知恵袋).xlsm").Worksheets("受付").Range("B2")
'コピー元のブックを閉じる(セーブしない)
Workbooks("テスト(提出用).xlsx").Close savechanges:=False

End Sub
以上となります。
宜しくお願い致します。

「Excelのマクロについて教えてください」の質問画像

A 回答 (1件)

普通に考えたら 審査 というシートが存在してないからですよね。



その原因はWorksheet_Changeが再帰的に呼び出されているからかも。
だとしたら回避策はこれ↓と同じ
https://oshiete.goo.ne.jp/qa/13826725.html

これ↓は読みましたか?
https://terakoya.sejuku.net/question/detail/32336
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうだったんですね。理解出来ました。

お礼日時:2024/06/18 13:45

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

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


おすすめ情報

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