web-dev-qa-db-ja.com

ExcelのApplication.CutCopyModeプロパティの正確な機能は何ですか

まず最初に、グーグル検索中にいくつかの回答を見つけましたが、ほとんどのフォーラムは私のOffice Networkしたがって、ここでこの質問をします!もう1つの目的は、わかりやすい英語で回答を取得することです。

Application.CutCopyMode = Falseその後、コピー/カットの結果は消えます(つまり、メモリがクリアされます)が、これをいつ使用し、いつ使用しないのですか?誰でも助けていただけますか?

26
Saikat Sengupta

この( 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は不要であり、警告は表示されません。

33
user2230817

通常、セルをコピーすると、ステータスバー(シートの下部)に次の文が記載されます。

「宛先を選択してEnterキーを押すか、貼り付けを選択」

次に、Enterキーを押すか、貼り付けを選択して、セルの値を貼り付けます。

その後Escを押さなかった場合、セルの値を数回貼り付けることができます

Application.CutCopyMode = FalseはEscボタンと同じように機能します。コードから削除すると、セル値を何度か貼り付けることができます。

Escキーを押さずにExcelを閉じると、「クリップボードに大量の情報があります...」という警告が表示されます。

13
Osama

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データをクリアするのに役立つようです。

1
George Birbilis