• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:他のブックに貼付けがうまくできません(結合セルあり))

他のブックに貼付けがうまくできません(結合セルあり)

このQ&Aのポイント
  • 他のブックに貼付けがうまくできない問題が発生しています。セルの結合を解除し、値を貼り付ける作業を行っていますが、エラー9が発生しています。
  • 資料を作成するために、一覧表から1件の情報を選んで配布資料を作成しています。配布資料はテンプレートをコピーして使っています。
  • 構成一覧表から選択したセルの情報をコピーしたファイルに貼り付けています。また、セルの結合を解除し、内容を転記しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

>エラー9が出てデバッグします エラーが出たらその番号だけではなく、メッセージ それに、どのコードで出たかも書かないといけません。 ま、それは置いといて、、、 No9は、インデックスが云々、ですから、 指定したブック名、シート名が見当たらないということです。 コードを眺めたところおかしいところはないので、ちょこっと試してみました。 なーーーーーーんと、コピーし、オープンされた”仮.xls”のブック名が、 テンプレートを開いたときのように、【仮1.xls】と番号が振られてました。 で、Openされたブックはアクティブになるので 次のように、ActiveWorkBooブックを使うか、ブックオブジェクトを省いてみましょう。 また、値のコピーではなく、値を代入してるだけですから、結合セルの解除などは必要ありません。 そこらを含め不必要なコードは削除してあります。 '------------------------------------------ Sub 構成表から資料を作成する()  Dim i As Variant  Dim シート名 As Variant  Dim NewName As Variant  シート名 = ActiveSheet.Name  i = ActiveCell.Row  NewName = "C:\Documents and Settings\498\デスクトップ\仮.xls"  FileCopy "\\arc\DATA\ファイル管理\資料\PartsList.xlt", NewName  Workbooks.Open FileName:=NewName   '●これで仮ブックはアクティブになる  Worksheets("PartsList").Range("A2") = Workbooks("構成一覧表.xls").Worksheets(シート名).Cells(i, 16) End Sub '------------------------------------------------ また、コードで仮ブックを保存、終了させる場合は Application.DisplayAlerts = False   ActiveWorkbook.SaveAs NewName Application.DisplayAlerts = True   ActiveWorkbook.Close とします。 Application.DisplayAlerts は必須です。   それから、一番いいのは次のように仮ブックをオブジェクト変数にセットして使う方法です。   Dim NewBook As WorkBook   Set NewBook = Workbooks.Open(FileName:=NewName)   NewBook.Worksheet("PartsList").Range。。。。。。。。 とか   NewBook.Close などとして使用する。 以上です。

dengennao
質問者

お礼

説明不足な点までフォローしていただいて、ありがとうございます。 理解しやすいように、とてもわかりやすくアドバイスをいただけて 感謝で涙が出そうです。 「なーーーーーーんと、コピーし、オープンされた”仮.xls”のブック名が、 テンプレートを開いたときのように、【仮1.xls】と番号が振られてました。」 という点、私も気がついて、ワークブックの指定に仮1としてみたりいろんなパターンを試してみたのですが、だめでした。 でもアドバイスいただけて助かりました。 今は他の仕事がきてしまって、すぐには実践できませんが 後ほど試します。 どうもありがとうございました。

関連するQ&A

専門家に質問してみよう