2

コードの別のポイントでWName = ThisWorkbook.Name設定したいのですが、機能していません。Windows("WName").Activate

これが意味をなさないかもしれないことは承知していますが、進行中のすべてのサットフに当てはまります

以下は小さなテストサブです(私はこれを動作させようとしているだけではありません)

ありがとう

 Sub test()
 'Copy Active Workbook Name
 WName = ThisWorkbook.Name

 'Activate a different Workbook
 Windows("MyWorkbookAAA").Activate

 'Activate Original workbook using WName
 Windows("WName").Activate  'Have also tried Windows(WName).Activate

 range("D2:D25").Select
 Selection.Copy

 Windows("MyWorkbookBBB").Activate
 range("C22").Select
 ActiveSheet.Paste

End Sub
4

2 に答える 2

1

このコードを試してください:

コードで Select/Activate を使用しないでください。このリンクを参照してください

 ThisWorkbook.ActiveSheet.Range("D2:D25").Copy Workbooks("MyWorkbookBBB").ActiveSheet.Range("C22")

ここに画像の説明を入力

于 2013-05-31T20:10:33.660 に答える
1

文字列値 WName への参照を維持することで、同様の構文を維持したい場合。

Workbooks(WName).Activate 

これにより、そのブックがアクティブになります。

することもできます

ThisWorkbook.Activate

コードを実行しているワークブックの場合。

(コピーなどの1つのことだけを行う特定の操作を行う簡単な方法がありますが、これはあなたがやろうとしていることを行う方法を説明しています)

于 2013-05-31T19:51:04.453 に答える