2

同じフォーマットのワークブックが 300 個あり、それぞれに特定のフィールドを取り、1 つのワークブックに書き込んで、infile を SAS にインポートし、レポートを実行できるようにしたいと考えています。マクロを使って簡単にコピー アンド ペーストする方法は知っていますが、各本の名前を知って開いておく必要があります。また、300 冊のワークブックがあり、さまざまな病院から送られてくるため、すべて異なる名前が付けられています。

例: 私の本は単にマクロと呼ばれています。1 つの病院の本は johnhopkins、もう 1 つは centralflorida などです。

可能なコードは次のとおりです。

johnhopkins.worksheets("sheet1").range("a1:g2").copy workbooks("macro.xslx").worksheets("sheet1").range("a1").insert shift:x1down

問題は、特定のセルをコピーして貼り付けたいことです。ワークブックのすべてではなく、単一のワークブックに与えられたものであり、送信されているセルから必要なセルを選択する方法がわかりません。それらは実際のセル B5、b8、g13、i13、j13、k13、l13 です。

そして、それらをワークブックの a1 から g2 にコピーしたいと考えています。

次に、他の問題は、ワークブックの名前がす​​べて異なり、300 個すべてであることです。毎回実際の名前を入力せずに、開いたワークブックをコピーするだけのマクロはありますか?

4

1 に答える 1

0

次のようなものから始めることができます。

For i = 1 To Sheets.Count

Sheets.Item(i).Select
Range("A1:D10").Select
Selection.Copy
Sheets("Result").Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveSheet.Paste

Next i

名前を知らなくてもシートをループして、結果を「結果」シートに貼り付けることができます。これで、説明した範囲をコピーして、別のシートに貼り付けるだけです。

楽しむ!

于 2013-03-14T19:15:25.707 に答える