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

コードをご教示ください。Aと言う名前のブックに31シートあります。シートは1から31まで名前がついています。このシートのF1に文字が入っております。例えば"あ"だとします。 Bブックには"あ""い"などのシート名であ〜おまであります。
もし、Aというブックの、シート2ページ目のF1に、"あ"と文字が入っていたら、Bブックの"あ"のシートから、c4からj147の範囲をコピーして、Aの該当シートに貼り付けしたいのです。
どなたかコードご教示ください。

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

  • ありがとうございます!すみません、両方開いていると仮定していただいて大丈夫です。
    Aブックの全てのシートにBブックのシートから該当シートを検索して転記したいので、繰り返し処理もいれていただからと助かります!

      補足日時:2022/11/11 09:30

A 回答 (1件)

こんばんは



>コードをご教示ください。
「Aというブック」、「Bというブック」がどこにあるのか、ブック名は何かなどが不明な上に、全体に曖昧な表現なので、勝手に解釈してあります。
また、想定外の状況に関しては、まとめてエラー処理しています。

以下は、
「bookB.xlsxブックのシートのうち、bookA.xlsxのシート"2"のF1セルにある名称のシートから、C47:J147のセル範囲の値を、bookA.xlsxの同じ位置に転記する」
という内容のものです。

※ 両ブックとも開いている状態と仮定しています。
※ ブック名は仮に「bookA.xlsx」「bookB.xlsx」としてありますので、
  実際の環境に合わせて修正してください。
※ 対象シートが保護されていたりするとエラーになります。

Sub Q_13224397()
Dim sh1 As Worksheet, sh2 As Worksheet

On Error GoTo errorP
Set sh1 = Workbooks("bookA.xlsx").Worksheets("2")
Set sh2 = Workbooks("bookB.xlsx").Worksheets(sh1.Range("F1").Text)
On Error GoTo 0

sh1.Range("C47:J147").Value = sh2.Range("C47:J147").Value
Exit Sub

errorP:
MsgBox "指定ブックまたは指定シートが見つかりません"
End Sub
    • good
    • 0

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