
作業ブックに連続して実行できるマクロを設定しております。
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
以上となります。よろしくお願いいたします。

No.2ベストアンサー
- 回答日時:
こんばんは
ブックが複数でも何でも開いちゃうようになっているし、どういう意図のコードなのかよくわからないけれど・・・
2番目の
>Call 提出シートコピー範囲
は
Sub 提出シートコピー範囲()
の間違えなのでは?
もしそのままなのなら、提示されている範囲では構文的におかしいし、「提出シートコピー範囲」なるものの内容が提示されていないので、そいつが悪さをしているのかもしれないし・・
・・とは言え、No1様の回答にある通りではないかと推測します。
エラー時のActiveWorkbookを調べればすぐに解明すると思いますけれど?
対処法は、きちんと対象を制御してあげれば良いだけと推測します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA コードを実行すると画面が...
-
VBA 別ブックからコピペしたい...
-
Excel2007VBAファイルの表示に...
-
VBA 実行時エラー 2147024893
-
ワイルドカード「*」を使うとう...
-
【Excel VBA】書き込み先ブック...
-
[マクロ]vbaでブックがない場合...
-
【ExcelVBA】zip圧縮されたCSV...
-
VBA アプリケーション定義また...
-
Excelブックがアクティブになっ...
-
ACCESSでExcelにデータ出力、高...
-
vbaで他のブックに転記したい。...
-
フォルダ内のExcelファイルを全...
-
[Excel]ADODBでNull変換されて...
-
VBSでExcelのオープン確認
-
別ブックの列同士の値が一致し...
-
ExcelのVBAコードについて教え...
-
vbaについて 主に以下のような...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
VBA コードを実行すると画面が...
-
ワイルドカード「*」を使うとう...
-
VBAで別ブックのシートを指定し...
-
オブジェクトは、このプロパテ...
-
VBAで別のブックにシートをコピ...
-
Excelマクロ 該当する値の行番...
-
【Excel VBA】書き込み先ブック...
-
複数のエクセルファイルとシー...
-
【ExcelVBA】zip圧縮されたCSV...
-
【ExcelVBA】インデックスが有...
-
VBA シート名が一致した場合の...
-
2つ目のコンボボックスが動作...
-
Excel マクロ ファイルと同じシ...
-
【VBA】全シートの計算式を全て...
-
[Excel]ADODBでNull変換されて...
-
Excel2007VBAファイルの表示に...
おすすめ情報
回答ありがとうございます。
確かに作業ブックにはシート名「受付」があります、
又、そのブックに今回のマクロを設定しております、
質問にも記載をさせて頂きましたが
「Call 提出シートを開く」・「Call 提出シートコピー範囲」のマクロをやめて
手動でコピー元のブックを開き、コピー範囲をマウスで設定して「Ctrl+C」を行い
作業ブック側の「Call 貼り付け」を実行するとコピペが上手く行きます。
何故でしょうか?
よろしくお願いいたします。