マクロに問題があります。このコードを新しいマクロで使用して(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の参照を取得する方法はありますか?
Application.Workbooks
と同じではないものを使用してください ActiveWorkbook
。