Excelマクロ、さまざまな書籍を扱うアドイン


0

マクロに問題があります。このコードを新しいマクロで使用して(Book1に新しいマクロを作成してそこにコードを貼り付けて)、このBook1からマクロをアクティブ化すると、コードは機能します。

私がアドインを使って解決したとき、事態はますます困難になっています( "MyOwnGroup"と呼ばれるリボンの新しいグループには "MyOwnButton"というボタンがあります)。そして、私はあなたにここで本当にアドバイスが必要です。

だから、私がやろうとしていることと何が起こるのか。

1)アドインなしでどのように動作するか Book2で範囲を選択し、Alt + F8を押してBook1のマクロを有効にするだけです。選択した範囲がBook1にコピーされます。 マクロBook1の中にThisWorkBookがあり、Book2がActiveWorkBookです。私はマクロには2つの異なる参照があることを意味します:ThisWorkBook(コードがあるところ)とActiveWorkbookへの範囲のコピー時です。

2)アドインでは事情が異なります。今は3冊の本があります。

  • Book1(他の本から選択した範囲をこの本に貼り付ける必要があります)

  • 選択された範囲のBook2

  • 私のマクロのコードを含むWorkbook.xlam

ThisWorkBookはコードを含むためWorkbook.xlsmになりました。

ActiveWorkbookは選択範囲を持つ本です。

Book1でどこに値を貼り付けようとしているのかはマクロでは知られていませんが、参照できません。

例えば

Book1を開き(そしてWorkbook.xlam with macroも開きます)、次にBook2を開きます。 Book2で範囲を選択し、Book1をアクティブにして "MyOwnButton"を押します。 Book2から(activebookから)選択したものをBook1にコピーして貼り付ける必要があります(追加せずにThisWorkBook)。ただし、ThisWorkBookはWorkbook.xlamでActiveWorkBookはBook2なので、Book1への参照は取得できません。彼らはすでに関わっています。

この場合Book1の参照を取得する方法はありますか?


1
マクロに「現在アクティブな」ワークブックを使用するように指示できます(これはThisWorkBookではなく、他のものです)。
Aganju

「この場合Book1の参照を取得する方法はありますか?」 - book11とbook1111も開いている場合、ExcelにBook1を使用する必要があることをどのように知らせますか。ブックを2つだけ開いたことが確実な場合は、ループスルーできます。 Application.Workbooks と同じではないものを使用してください ActiveWorkbook
Máté Juhász

ループを使うのはいい考えです!しかし、ループはbook.xlamを検出するのでしょうか。
Andre
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.