• ベストアンサー

VBAでセルがコピーされているか判定したい

VBAでコマンドボタンを押した時に セルがコピーされた状態でコマンドボタンが押されたか セルがコピーしていない状態でコマンドボタンが押されたかで 処理を分けたいのですが、 そのようなことを判定する方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

private sub CommandButton1_Click()  if application.cutcopymode then   msgbox "セルがコピーされている"  else   msgbox "セルがコピーされていない"  end if end sub みたいな。

miya2004
質問者

お礼

ありがとうございます。 コピーされたセルの範囲を取得する方法はありますでしょうか? 調べるとAPIを使えば出来るようですが、 なるべくAPIを使わない方法が良いのですが。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

>コピーされたセルの範囲を取得する方法 エクセルマクロにはそういうのはありません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルVBA、セルのコピー

    VBAにて あるセルに何かを入力した瞬間に、そのセルの内容をコピーし違うセルに貼り付ける という事を実装したいです。 (セルが変更された時に)入力した時に実行されるというVBAはわかりました。 わからないのは、 「入力したセル」をコピーし、違うセルに貼り付ける というところなのですが・・・ ちなみに、貼り付ける場所の指定や入力したセルの内容、などなど かなり条件があるので、関数はで厳しいのでVBAにてお願いいたします。 よろしくお願いいたします!

  • EXCEL:セル判定してマクロ操作したい

    こんばんは。 あるセルに判定式を入力し、下記の操作をしたいと考えています。 例)A1セルの入力値が10以下の場合ボタン1、それ以外はボタン2を押す。 <<式>> =IF(A1<=10,"ボタン1を押す","ボタン2を押す") ◇セルから”ボタン操作”する記述方法はあるでしょうか? ◇不可能であれば定期的にセルを監視しVBA側で判断するしか無いですね。 ただ上記の例ではセルが1つですが、実際に判定したいセルは数百あります。 複数のセルを記述するだけでプログラムのボリュームがあり大変です。 そこで可能であれば関数感覚で記述したいなと思いました。可能でしたら記述方法を教えてください。

  • EXCEL VBAでセルのコピー&ペーストで幅と高さも貼り付けたい

    VBとExcelの連携システムを作成しております。 しかし、ExcelのVBAは初めてなので、いろいろと調べながらやっております。が、どうしても分からないので、ご教授願います。 ある条件を満たした時に、セルを範囲選択して、すぐ下に張りつけてる処理を書きました。貼り付ける事はできたのですが、貼り付けた範囲のセルの幅と高さが貼り付けられていない為、プレビューすると、コピーした部分の高さと幅が異なってしまい、改ページの位置がずれてしまいます。 コピー&ペーストの際に、セルの幅と高さもコピー&ペーストすることはできないのでしょうか?

  • Excel VBA カタカナ セル判定方法

    Excel VBAでA列はカタカナ文字のみ入力したいです。 ボタンを押下する事により、A列でカタカナ以外の文字が入っていたらセルの色を変えたいと思っています。 「アイウエオ」OK 「アイウぇオ」NG 「亜イウエオ」NG 「アイウ_エオ」NG 各セルに入っている文字列を一文字ずつ切り出して判定すればできるような気がしますが、物凄い時間がかかりそうです。これを簡単な方法で実現できないでしょうか?

  • VBAで保護セルのコピー

    セルA17:Q27の範囲にデータがあります。 この中の1部のセルは保護されており編集できません。 これを1セットし下にコピーしていきたいです。 最初はA28:Q38 次はA39:A49・・・ 11行ずつとなります。 VBAでやるとどのように書けばいいのでしょうか? SpecialCellsで最終行を取得していく方法もありますが ほかにうまい方法はありますか? マクロを使わずExcelでコピー&貼り付けではコピー先の 保護部分が無効になってしまうためVBAでやろうと思っています。 -------------- もう1つ手間をかけますがB列には平日の日が入ります。 その月のdayから曜日を取得できるのは知っていますが 祝日なども除いた日を入れていくことができるでしょうか? 5月で言うと3,4,5日はコピーしません

  • エクセルVBAでセルの値を1分毎にコピーしたい

    エクセルでA1にスピンボタンでカウントした値を1分毎に順次他のセルにコピーしたいのですがVBAで可能でしょうか。またそのA1の値も30分あるいは1時間毎にリセット(ゼロからスタート)したいのですがVBAで可能でしょうか。 よろしくお願いします。VBA初心者です。

  • エクセル2003 特定セル範囲のみをコマンドボタンでコピー・貼り付けたい

    タイトルの通りなのですが、ただ今会員マスタ原本というシートを作成しています。 その中にコマンドボタン(表追加)を作り、ボタンを押すと、B39:U48のセルの作成データが上記のセルの下にどんどん追加される様にVBAを区みたいです。 (1) 表がずれないようにコピーをしたままの状態で貼り付けしたい。 (2) シートは同一シート内。B39:U48のセルの下に貼り付けたい。 (3) ボタンを押すたびにどんどん追加される。 (4) 貼り付けの状態は1行空けた状態で張り付いて欲しい。

  • エクセルVBAでコマンドボタンを選択したい。

     すいません。私はエクセルのVBAが初心者なのですが、例えば、sheet1にコントロールツールのコマンドボタン1があるとして、いまセルA1が選択されている状態の時、キーボードの"Enter"を押すと、通常はセルA2が選択されるところを、コマンドボタン1を選択するようにしたいのですが、なにかいい方法はありませんか?よろしくお願いします。

  • Excell VBA 指定セルにコピー&ペースト

    VBAについて質問です。 Excellで家計簿のようなものを作成してつくっているのですが、 A1~A31までのセルに日付の1日~31日を記入し、 B1~B31までのセルに各日の支出金額の合計を記入するような表を作成しています。 ただ、一日の支出が多い場合(金額的に多いというわけではなく、レシートの枚数が多く合算しなければ一日の支出合計が出ない状態のこと)は別セルで合計を計算し、その結果を記入するようにしています。 ただ、その結果を毎回コピペするのがとても面倒なので、 コマンドボタンを計算結果の横に設置し、 そのコマンドボタンをクリックしたら、どこのセルにペーストするかをメッセージボックスで問われ(C言語でいうScanf的なもの)、記入してOKをクリックするとその指定したセルに計算結果が自動的にペーストされるようにしたいと考えています。 ただ、そのコマンドがわからなくて足止め状態です。 どなたか教えてください!! 内容としましては、 セルE1に計算結果が表示されてるとして、 そのE1の内容を上記のようなコマンドボタンを使用して指定したセルにペーストするようなマクロをくみたいです。 上記の「どこのセルにペーストするかをメッセージボックスで問われ」という部分については、セル番を入力することで指定できるだけでもよいのですが、欲を言えばA1~A31に記入されている日付を入力することでペースト先のセルを指定できればベストだなと考えています。 こんなこと可能でしょうか?? 説明がわかりにくいとは思いますが、どなたかお願いします

  • Excel VBAで改行を含めたセルのコピー

    Excel VBAにて、任意のセルを他のセルにコピーするコードを作成しています。 コピー元になるデータが、Alt+Enterで改行を伴ったデータとなっており、 これを.copyにてデータを送ると、改行が無くなった(連結された)表示となります。 一度そのセルをダブルクリックにて操作し、再びEnterを押すと、改行された状態に戻りますが、これを最初から改行されたままのコピーとしてデータを渡すことは可能でしょうか?

専門家に質問してみよう