まず最初に、グーグル検索中にいくつかの回答を見つけましたが、ほとんどのフォーラムは私のOffice Network
したがって、ここでこの質問をします!もう1つの目的は、わかりやすい英語で回答を取得することです。
Application.CutCopyMode = False
その後、コピー/カットの結果は消えます(つまり、メモリがクリアされます)が、これをいつ使用し、いつ使用しないのですか?誰でも助けていただけますか?
この( http://www.excelforum.com/Excel-programming-vba-macros/867665-application-cutcopymode-false.html )リンクを参照すると、答えは以下のようになります:
Application.CutCopyMode=False
は、セルのコピー/切り取りと貼り付けを行うと、マクロレコーダーで生成されたコードに表示されます。マクロレコーダは、コピー/切り取りと貼り付けを別々のステートメントで行い、クリップボードを中間バッファとして使用します。おもう Application.CutCopyMode = False
は、クリップボードをクリアします。その行がないと、警告「There is a large amount of information on the Clipboard....'
クリップボードに大量のデータがあるワークブックを閉じるとき。
最適化されたVBAコードを使用すると、通常は1つのステートメントでコピー/カットアンドペースト操作を実行できるため、クリップボードは使用されず、Application.CutCopyMode = False
は不要であり、警告は表示されません。
通常、セルをコピーすると、ステータスバー(シートの下部)に次の文が記載されます。
「宛先を選択してEnterキーを押すか、貼り付けを選択」
次に、Enterキーを押すか、貼り付けを選択して、セルの値を貼り付けます。
その後Escを押さなかった場合、セルの値を数回貼り付けることができます
Application.CutCopyMode = FalseはEscボタンと同じように機能します。コードから削除すると、セル値を何度か貼り付けることができます。
Escキーを押さずにExcelを閉じると、「クリップボードに大量の情報があります...」という警告が表示されます。
https://stackoverflow.com/a/33833319/90378 に良い説明があります
期待される値は、xlCutCopyMode列挙によるとxlCopyおよびxlCutのようです( https://msdn.Microsoft.com/en-us/VBA/Excel-VBA/articles/xlcutcopymode-enumeration-Excel )、しかし、値0(これはVBAでFalseに等しい)は、クリップボードに置かれたExcelデータをクリアするのに役立つようです。