エクセル(VBA)でドラック&ドロップの実現

このQ&Aのポイント
  • エクセルのセルデータを大量にランダムに移動させる方法を探しています。Ctlキーを押しながらクリックするとセルの値がカットされ、2度目にクリックすると値が貼り付けられる仕組みを作りたいですが、行き詰っています。詳しい方がいらっしゃいましたら、教えてください。
  • エクセルのセルデータをランダムに移動させる方法を探しています。Ctlキーを押しながらクリックするとセルの値がカットされ、2度目にクリックすると値が貼り付けられる仕組みを作りたいです。Valueを保存して、移動先のセルに設定する方法はわかるのですが、実装に行き詰っています。
  • エクセルのVBAを使用して、セルデータのドラック&ドロップを実現したいです。Ctlキーを押しながらクリックするとセルの値がカットされ、2度目にクリックすると値が貼り付けられるような機能を作りたいです。具体的な実装方法について詳しい方がいらっしゃいましたら、教えてください。
回答を見る
  • ベストアンサー

エクセル(VBA)でドラック&ドロップの実現

エクセルのセルデータを大量にランダムに移動させる時に、例えば、Ctlキーを押しながらクリックするとセルの値のみカットされ、2度目にクリックすると値のみ貼り付けられる。(1回目のクリックしたセルを再びクリックするとキャンセル)ってなのを作ろうかと思っていますが、Valueを保存して、移動先のセルに設定するのは解るのですが、行き詰ってしまいました。どなたか、詳しい方いらっしゃいましたら教えて頂けないでしょうか?(欲張れば、Ctlキーを押したままだと、カット&ペースト、Altキーだとコピー&ペーストだと嬉しいのですが・・) 宜しくお願いいたします。罫線とか書式のコピーはいりません。(逆にあると不便な時が多いとおもうので・・)

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

注1)下記の方法では、セルの値のみ...というのは不可能です。 注2)[ツール]-[オプション]-[編集]-[ドラッグ アンド ドロップ編集を行う]    のチェックが解除されている場合はドラッグ編集自体が不可です。 セルを選択(単一エリアなら複数セルでも良い。ただし飛び飛びの範囲では 不可)すると、その周りが一回り太い黒枠で囲まれますよね? その淵にカーソルを乗せると十字の矢印カーソルに変わります。そうしたら マウスの左クリック※ したまま、 Ctrl を押しながらドラッグ → セルのコピー Shift を押しながらドラッグ → セルの挿入  Alt を押しながらドラッグ → セルの切り取り   の動作になります。 ※ この時に Excel のステータスバーに上記の説明が表示されます。   ただし、Excel2002 で確認しているので、Excel97~2000 の場合は、   覚えてないので分かりません。 ご希望の動作にかなり近いものが標準で用意されているということです。 また、既に Excel で割り当て済みの上記動作を横取りするようなコードは 非常に難しい点、混乱の元になる可能性が大きい点から、オススメしません。 不可能ではないですよ。 参考までに、関数が呼び出された時点でのキーの状態は、GetAsyncKeyState API で調べられます。

Excel_VBA
質問者

お礼

本当に有難うございます。 何とか、出来るようになりました。 エクセルの基本機能の勉強をもう一度やろうと思いました。 今後とも宜しくお願いいたします。

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

意図が良くわかりませんが、Ctrl、Alt、Shift をそれぞれ押しながら セルをドラッグしたときの動作がご希望の動作になってます。 動作の説明はステータスバーに表示されてますので、いろいろ試してみて 下さい。 なお、これを VBA で実装するのは非常に難しいです。

Excel_VBA
質問者

補足

すみません。説明が悪かったせい。もしくは、回答の内容が理解出来ていないせい。なので、もう少し具体例で補足します。 A ,B ,C ,D ,E , 1: あ, , , , , 2:  , , , , , と任意のセル(この場合だと、A1)に"あ"の文字が書かれていたとします。 私は、いつもA1のセルを右クリックして、コピーして、E2のセルで値の貼り付け(A1の文字をE2に移動させる場合)、A1のセルを左クリックして、Delキーを押して書式なし(罫線を移動させたくないので)の移動をしています。コピー元のセルが結合されていたら、一度結合を解除して行っていました。VBAの限らず、簡単に行う方法ってあるのでしょうか? 教えて頂いたことを、やってみましたが、動作の説明がステータスバーに出るとのことですが、コマンドって表示がされているだけで、何も変わらないのですが?? いったい、私は何を理解していないのでしょうか? 誠に申し訳ありませんが、もう少し詳しく教えて頂けないでしょうか? 宜しくお願いいたします。

関連するQ&A

  • Excelのコピーができません

    excelで作成したワークシートがあります。 ・セル結合 ・罫線、セルパターン等を使用しています。 ・セルには関数で計算した値があります。 これを別のワークシートに同じ形式で、関数を値にしたものを作りたいと思い、 ・まず、普通にコピ-&ペースト。これで罫線、セルパターン、列幅、セル結合などの書式がコピーされます。 ・しかし、セル値が関数のままなので ・同じ範囲に同じものを「値のみ」ペーストをしようとすると、「この操作には、同じサイズの結合セルが必要です。」と出てペーストできません。 結合セルを解除せずに、どうすればコピーできるか、どなたか教えて下さい。

  • 【EXCELエクセル】セルの書式設定だけコピー・ア

    【EXCELエクセル】セルの書式設定だけコピー・アンド・ペーストしたいです。 ショートカットキーを教えて下さい。 やりたいこと セル右クリック→書式設定→罫線→細い線を選択→セルに斜め線を入れる これを違う離れているセルにも書式設定だけコピーして斜め罫線を入れたいです。 書式設定だけコピーするショートカットキーを教えて下さい。

  • エクセルVBAでセルの書式設定を出すには

    「セルの書式設定」のダイアログを出すには メニューの「書式」-「セル」-「セルの書式設定」-「罫線」を順番に選らばなければなりません。 これをショートカットキーなどで一発で出す方法はないでしょうか。 恐らくVBAでSendkeysを使って行うことになると思うのですが、 最初のAlt-o、Alt-eは分かるのですが、最後に複数タブからどうやって「罫線」をだしたらよいのでしょうか。 また、Sendkeysを使わないやりかたがあったら教えていただけないでしょうか。 よろしくお願い申し上げます。

  • mac版excelにおけるenterキー

    セルのコピーやカットをしたのち,移動先のセルでエンターを押せば,ペーストされたような気がするのですが・・・。久しぶりに使ったら,enterキーを押してもセルが移動するだけで,ペーストされません。環境設定を見たのですが,設定方法がわかりません。そもそもmac版にこの機能はついてなかったのでしょうか?

    • ベストアンサー
    • Mac
  • Excelセル コピペ時の、文字書式の自動ペースト

    Excel XP (Excel 2003) での質問です。 添付画像のセル B2 をコピーし、「値」 または 「数式」 のみをペーストする時(画像では B3:B5 へペースト)、時と場合によって、結果が画像の A か B 2つのパターンになるのですが、どういう時にどちらの結果になるのか、ルール(条件)が判りません。 結果B のように文字書式も一緒にペーストされて欲しいのですが、どういう時に B のようになるのか、教えて下さい。 コピペの操作は、ctrl+C でコピー、「形式を選択して貼り付け」 の 「値(V)」 または 「数式(F)」 です。「値(V)」 と 「数式(F)」 のどちらの時にも、時と場合によって A になったり B になったりします。 また罫線や背景色などはペーストせずコピー先の書式を維持し、文字(または数式)と文字書式のみをペーストしたいです。 よろしくお願いします。

  • ファイルのドラッグ&ドロップができない

    昨日くらいから急にファイルのドラッグ&ドロップができなくなりました。  問題として何が考えられますか? また、改善案を教えていただきたいです。 ファイルを開く→可能 エクセル等でセルをドラッグして移動させる→可能 ワードやIEなどでドラッグして文字を反転させる→可能 フォルダ等のウインドウをドラッグし移動させる→可能 デスクトップにあるファイルやアイコンをドラッグ→不可能 フォルダ内のファイルの移動→不可能 CドライブはもちろんDドライブ、外付けHDDやUSBメモリー内のファイルの移動も不可能でした。 右クリックによるコピー&ペーストは可能です。 OS;XP SP3(購入時から) マウス;USB有線のレーザーマウス

  • ドラッグ&ドロップしても移動できません

    PC画面上のショートカットアイコン・画像データ・音楽データ・書類等の全てのアイコンがドラッグ&ドロップによる移動ができなくなりました。 コピー(カット)&ペーストでの移動はできるのですが、マウスでドラッグしてどこへドロップしても全く移動しません。 マウスを一旦外して付け直したり、別のマウスで試しても全く反応しません。 設定とかが変わってしまったのでしょうか? 色々見てみたのですが自分の力だけでは分かりかねますのでどうか皆様の知識をお借りしたいと思い投稿させていただきました。 どうかよろしくお願いいたします。

  • エクセルのデータ移動で

    いつもお世話になります。  エクセルで罫線はそのままでセルのデータを移動する場合、コピーであれば「値のみ」移動できるのですが、切り取り(元のセルは空白に変更)の場合は、どうしても罫線も一緒に切り取られてしまいます。  罫線は決められたものため変更できないのですが、データだけは切り取って移動したいのです。(コピーの値のみ移動であれば元のセルをデリートする手間が残ります。)  いろいろ調べましたがどうしてもわかりません。  どなたかお詳しい方ご教示ください。

  • vba

    vbaについて 下記のプログラム教えてほしいです。 F5からL20に、1~30までの数字がランダムに入力されています。 空欄もあります。 クリックしたセルが空欄の場合と、値が30の場合は何もしない。 クリックしたセルに値がある場合、その値をコピーし、 F21に値を+1して貼り付ける。 わかりますかね?;; なるべく省略された簡潔なプログラム教えてほしいです。

  • エクセルの罫線を固定させる方法って有りますか

    エクセルの罫線を固定させる方法って有りますか。 コピー、カット、ペーストを行うと、文字や数式だけでなく罫線もくっ付いてきますよね。カットならば罫線をはぎ取って持っていってしまいます。 やりたいのは、コピー、カット、ペーストを行っても罫線はいっさい変化なし、という状態にしたいんですが、出来ますでしょうか。 バージョンは、Mac版のOffice2004のExcel2004です。 よろしくお願いします。

専門家に質問してみよう