|
▼atori さん:
>「クリップボードに大きな情報があります」のメッセージも出てしまうので、それに関するものも入れてみました。
>
> wb.Worksheets("Sheet1").Columns(2).Copy
> wsx.Columns(k + 1).PasteSpecial Paste:=xlValues
> wb.Application.CutCopyMode = False
その対応で、よいと思います。
貼付け先,Value = コピー元.Value
という構文を使っても、メッセージはでないかもしれません。
こんな感じです。
wsx.Columns(k + 1).Value = wb.Worksheets("Sheet1").Columns(2).Value
確認してみてください。
コピー範囲が大きいと、処理速度が落ちるかも知れませんが
コードが簡潔になるので、わたしはよく使います。
------
>自動的にフォルダ内のブック数を判別する方法もあるんですかね…?
Dir関数やFilesystemobjectを使えばよいと思いますが
余裕がれば検索してみるとよいです。
簡単にサンプルが見つかると思います。
フォルダ内のすべてのブックに同じ処理したいといったマクロでは
どちらかが、使われることが多いです。
ただ、わたしなら、結果が同じであれば、それでいいので
今回は、手抜きして
>ここから、kをある程度大きな数字にして
でよいかと考えます。
ただし、好みかもしれませんが、
>エラーメッセージが出たら終了
ではなく、その番号のブックが存在するかをDir関数で確認し
しなければ、Exit forでループを抜ける
といった感じにします。
そうすると、今のコードを、ほぼそのまま使えます。
Dir関数についてはネットで検索してみてください。
|
|