2016-11-17 8 views
2

Excelで特定のレポートマクロを実行するたびに、別の場所でコピーと貼り付けを使用することはできません。たとえば、レポートを開始すると(何行が30分以上かかりますか)、バックグラウンドで実行している間はコピー&ペーストできません。貼り付けを行うのは、マクロが現在作業しているものだけです。何かをコピーしようとすると、レポート上の次のセルに挿入され、そのレポートを乱してしまいます。私はExcel VBAマクロを実行しているときにコピーと貼り付けを使用します

アドバイスを探している人や、誰かがこれを聞いたことがある人はいますか?

ありがとうございました。私はそれを変更することにより、コピーして貼り付けなかった理由エルゴ私のアクティブなクリップボードを使用していた

Range("A1").Select 
Selection.Copy 
Range("B1").Select 
Selection.Paste 

を::

Range("A1?).Copy Destination:=Range("B1?) 

それだけで使用しないで同じことを行います使用することにより

+1

レポートは明示的にクリップボードに依存していますか? –

+0

は、はい、それは 範囲(「A1」)を使用しています。 Selection.Copy レンジ(「B1」)を選択します。 – Landers

答えて

2

コピー/ペーストする必要がありますか?おそらく、カバーの下にVBAは本当にそれ自体は、/貼り付けをコピーされていませんが、あなただけの値が、なぜ必要がある場合:あなたは本当に範囲だけでなく、細胞のためにこれを行うことができます念頭に置いて

Range("B1").Value = Range("A1").Value 

ベアを

Range("B1:B100").Value = Range("A1:A100").Value 

これは形式と、そのようなコピーはありませんが、あなたは同様にそれらを追加することができます。

Range("A1").NumberFormat = Range("B1").NumberFormat 

これは、コードごとのあなたはコピー/ペーストを追求するもののように整頓ではないかもしれないが、しかし、私はそれをベンチマークしてwhiを見ることをお勧めしますchがより効率的です。やはり、おそらくそれはボンネットの下ですべて同じです。私は本当に知らない。

+0

甘いあなたは私が、私は試してみて、いくつかの並べ替えのループするつもりだった知ってみましょううれしいけど、今 ActiveSheet.pasteを選択します私があなたができることを知っているのはすべてグラビです!ありがとうHambone! – Landers

0

あなたのアクティブなクリップボードとより効率的になります。

関連する問題