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

VBA、Excelのworkbook.open について質問です


これを記載してマクロ実行後、bookが2重に開いていますと警告が出た場合、どのように対処すればエラー回避できますでしょうか。

よろしくお願いいたします

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

  • call文中にworkbook.openを付け加える形にしていた場合、callがあった分だけopenに対して条件文を加えないといけないのでしょうか。

    エラーメッセージはその都度出てきてしまいます

      補足日時:2024/02/26 17:23
  • データを別ブックに転記するマクロをこちらでご教示頂いたのにも関わらず、上記のエラーになってしまいました。
    申し訳ありません

      補足日時:2024/02/26 17:58
  • ありがとうございます。今日の夜遅くに組んでいただいたそのままを使ったのですが、エラーになってしまいました。
    それが、mb=workbooks.open(filename)のところでした。

    そこをコメントアウトすると、callでmbを使ったことによるエラーまで難なく進みました。

    御示しの通り、クローズが大前提だと身に染みて感じております。ありがとうございます。
    現在、
    別Bookに「別Bookにあるマクロを実行」マクロを作成しました。

    https://ideone.com/2V3qZs

    家では再現できたので、あとは職場で再現できるかどうかです。

    No.3の回答に寄せられた補足コメントです。 補足日時:2024/02/26 22:20
  • 返信ありがとうございます

    先方は、ボタン1つで今まで手作業だったシートの中身のコピペを希望しており、日付で新しく更新した別のシートにある同名のシートを今触っている従来のものの隣にコピーして、削除するということすら手間だといわれました。
    それて同一上でのシートでのコピペを試行錯誤しております

    追伸 昨日の別シートでコピペマクロを実行させるマクロは、処理落ちか
    1004 マクロを実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。
    新たな問題が出てきました

      補足日時:2024/02/27 10:43
  • それは良い考え方だと思います。
    今までとは違う方向ですが、今までのコードを参考にしてみたいと思います

      補足日時:2024/02/27 11:38
  • しかしながら申しにくいのですが、openが二重エラーは逃れられないと推測してますがいかがでしょうか

      補足日時:2024/02/27 11:41
  • 恒久対策としては、mbの箇所については、Thisworkbookで置き換えになります。call copy_sheet時のパラメータにmbがありますがこれも削除します。
    具体的にコードを希望される場合は、その旨返信ください。

    ぜひよろしくお願い申し上げます


    ボタンを割り付けたいのは、どのブックなのでしょうか?
    ワークシート.xlsmはあくまで開発中のものでして、このブックで成功したならば本来のペーストしたいbookに登録したいと考えております

      補足日時:2024/02/27 12:06
  • ①ボタンを割り当てたいブック
    ②マクロを登録したいブック
    ③ky 前提がよくわかりませんが、
    ①ボタンを割り当てたいブック
    ②マクロを登録したいブック
    ③kyu,nyu,gai,折衝取込 を日々取り込みたいブック 
    は、同じブックではないのでしょうか。

    ①②③は全て同じbookに存在することになります。

    しかし③のみ別々のブックからの取込みになります
    ③は3つのブック、book旧、nyuとgaiはいっしょでbook入外、そして折衝取込はbook折衝取込、からの取込みになります。




    異なる場合は、①②③ごとにそのブック名を提示していただけませんでしょうか。
    又、③には、kyu,nyu,gai,折衝取込の4シート以外にも、他のシートがあるのでしょうか。

      補足日時:2024/02/27 12:16
  • ③には、kyu,nyu,gai,折衝取込の4シート以外にも、他のシートがあるのでしょうか。

    ございます。その中のうちにある4sheetです。

    ペーストに失敗してすいません

      補足日時:2024/02/27 12:20
  • ありがとうございます

    事情で返信出来ませんが試してみます

      補足日時:2024/02/27 12:29

A 回答 (11件中11~11件)

For Each wBook In Workbooks


・・・wBook.name
Next

とすると、現在開かれているワークブックの名前を調べられますので、もし存在していたらWorkbook.openしないようにすればよろしいかと。
    • good
    • 0

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

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


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