dポイントプレゼントキャンペーン実施中!

作業ブックに連続して実行できるマクロを設定しております。
Sub 貼り付け総合()
Call 提出シートを開く
Call 提出シートコピー範囲
Call 貼り付け
End Sub
このマクロを実行すると画像のエラーが表示されて、
マクロ:「貼り付け」のコードの
「Worksheets("受付").Range("B1:H47").PasteSpecial Paste:=xlPasteValuesAndNumberFormats」が黄色く表示されて、上手くマクロが実行できません。
例えば、「Call 提出シートを開く」・「Call 提出シートコピー範囲」のマクロをやめて
手動でコピー元のブックを開き、コピー範囲をマウスで設定して「Ctrl+C」を行い
作業ブック側の「Call 貼り付け」を実行するとコピペが上手く行きます。
問題の解決方法を教えてください。
現状のマクロ
Sub 提出シートを開く()
On Error Resume Next
Dim folderPath As String
Dim fileName As String
folderPath = ThisWorkbook.Path & "\"
fileName = Dir(folderPath & "*(提出用).xlsx")
Do While fileName <> ""
Workbooks.Open (folderPath & fileName)
fileName = Dir()
Loop
End Sub
Call 提出シートコピー範囲
Dim Wb1, Wb2
Set Wb1 = Workbooks(1) 'このブック
Set Wb2 = Workbooks(2) '別ブック

'セルの値を取得する
Wb2.Worksheets("提出シート").Range("B1:H47").Copy
End Sub
Sub 貼り付け()
Application.DisplayAlerts = False
Worksheets("受付").Range("B1:H47").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.DisplayAlerts = True

Sheets("受付").Range("H60").Copy
Sheets("受付").Range("F24").PasteSpecial xlPasteValues

Sheets("受付").Range("Q10").Copy
Sheets("受付").Range("F12").PasteSpecial xlPasteValues



End Sub

以上となります。よろしくお願いいたします。

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

質問者からの補足コメント

  • うーん・・・

    回答ありがとうございます。
    確かに作業ブックにはシート名「受付」があります、
    又、そのブックに今回のマクロを設定しております、
    質問にも記載をさせて頂きましたが
    「Call 提出シートを開く」・「Call 提出シートコピー範囲」のマクロをやめて
    手動でコピー元のブックを開き、コピー範囲をマウスで設定して「Ctrl+C」を行い
    作業ブック側の「Call 貼り付け」を実行するとコピペが上手く行きます。
    何故でしょうか?
    よろしくお願いいたします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2024/06/14 17:54

A 回答 (2件)

こんばんは



ブックが複数でも何でも開いちゃうようになっているし、どういう意図のコードなのかよくわからないけれど・・・
2番目の
>Call 提出シートコピー範囲

 Sub 提出シートコピー範囲()
の間違えなのでは?
もしそのままなのなら、提示されている範囲では構文的におかしいし、「提出シートコピー範囲」なるものの内容が提示されていないので、そいつが悪さをしているのかもしれないし・・

・・とは言え、No1様の回答にある通りではないかと推測します。
エラー時のActiveWorkbookを調べればすぐに解明すると思いますけれど?
対処法は、きちんと対象を制御してあげれば良いだけと推測します。
    • good
    • 0
この回答へのお礼

回答ありがとございます
確認してみます、

お礼日時:2024/06/14 21:15

受付というシートがないExcelがActivateされた状態で実行したとか。

この回答への補足あり
    • good
    • 0

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