• ベストアンサー

エクセルでダブルクリックしセル上下入れかえ

宜しくお願いします。 エクセルのマクロで連続したセルを横に選択して (例えば B3 B4 B5) これを真下のセル (上記の例だと C3 C4 C5)と 入れ替えるマクロを考えています。 最初に選択した時点でダブルクリックすると マクロが起動し入れ替え完了ができたらいいのですが。 ワークシートのビフォーダブルクリックを使うことまでは調べがついたのですが 肝心の入れ替えをどうコード記述すればで困っております。 どうかよろしくお願いします

  • ennkai
  • お礼率54% (284/525)

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

  • ベストアンサー
回答No.1

> 最初に選択した時点でダブルクリックすると 1回目のクリックで、クリックしたセルが選択される。 ダブルクリックはセルの編集に割り当てられている。 なので、別の方法で操作する方が良いと思いますが。 自分は、普段ほかの機能が割り当てられていないCtrl+Qとか、一時的に使ったりします。 > エクセルのマクロで連続したセルを横に選択して > (例えば B3 B4 B5) 縦に選択してますよね? 実際、そういう風に選択されていたら、どう入れ替えればいいんでしょう? -- 例えば、 ・Alt+F11でVBEditor起動。 ・左側のプロジェクトエクスプローラのツリー、Sheet1を右クリックして標準モジュールを追加。 Sub swap() Dim r As Range Dim v As Variant For Each r In Selection v = r.Value r.Value = r.Offset(1, 0).Value r.Offset(1, 0).Value = v Next End Sub を貼り付け。 ・VBEを閉じて、Excelで範囲選択、Alt+F8でマクロを表示、swapを呼び出し。 とかで質問の動作するハズですが、例のように縦に並んでる時は、For Eachが処理する順番次第って事になります。

ennkai
質問者

補足

さっそくのご回答ありがとうございます セルを横へ選択 「B3 C3 D3」 し 「B4 C4 D4」 と入れ替える の記載間違いでした 大変申し訳ございません

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

標準モジュールに下記を作成。 Sub test01() x = Selection y = Selection.Offset(1, 0) Selection.Copy Selection.Offset(1, 0) Selection = y End Sub シートに図形の四角を1つ貼り付け。コマンドボタン的なものです。 その四角形の上で、右クリックして、上記の「マクロの登録」を選んで、test01を登録をする。 -- 例データ D7:G8に aa bb cc ee 2 3 4 5 あるとする。 D7:G7をマウスで範囲指定。<--忘れないこと 四角ボタンをクリック。(test01が実行される。) 結果 2 3 4 5 aa bb cc dd もう少し範囲指定が1行かなどチェックを入れるべきかもしれないが略。 上記のコードの特徴は簡潔であること。For Nextなどの繰り返しを意識的に避けた方法であること。

ennkai
質問者

お礼

ご回答ありがとうございます。 セレクション、こうやって使うんですね。 大変勉強になりました

関連するQ&A

  • Excelのセルをダブルクリックした時のマクロ

    BeforeDoubleClickイベントで、特定のセルをクリックした場合にマクロを実行する方法についての質問です。 例えば セルC1をダブルクリックするとマクロAが実行 セルC2ををダブルクリックするとマクロBが実行 セルC3ををダブルクリックするとマクロCが実行 と、複数のイベントにそれぞれのマクロを実行させたい場合はどうすればよいのでしょうか。 詳しい方がいましたらアドバイス頂けないでしょうかm(_ _ )m

  • エクセルでダブルクリックせずにセルを選択する方法

    セルを選択するにはダブルクリックしなくてはならないと思うんですが、大量な作業をする際に毎回タブルクリックの手間がかかります。 ダブルクリックせずにワンクリックでセルを選択する方法はありませんでしょうか?

  • エクセルのセルを普段はたたんでおく

    エクセルのフリーウェアのワークシートで見かけた機能がどのような設定で動いているのかをどなたか教えてください。 その機能は通常はセルが折りたたまれておりそのひとつ前のセルをダブルクリックすると展開されるというものです。 具体例を書きましたら、通常時に表示されている列はB、D、Fと並んでおり、B1をダブルクリックするとC列が展開されるという機能でした。 また、B1にも数値入力が可能な状態でした。 表示上の設定なのかマクロを使っているのかわかりません。 どなたか宜しくお願いいたします。

  • セルとセルの間をダブルクリックしたときについて

    excel2010で、何千行もあるデータを編集しています。 セルとセルの間をダブルクリックすると一番下までスクロールする機能があるのですが、ただ単にクリックしてセルを選択するつもりが、意図せず間をダブルクリックしてしまい一番下までスクロールしてしまう現象が多々発生するのでうっとおしいかったのですが、下記のURLを参考し、オプションから上記機能を停止することは出来ました。 http://oxynotes.com/?p=5931 しかし今度は、セル選択時に右下についていた小さい■が無くなっており、■をドラッグしてセルをコピーする機能が使えなくなってしまいました。 この■は便利なのに、使えなくなったのは非常に不便です。 よって、セルのセルの間をダブルクリックすると一番下までスクロールする機能を無効にしつつ、セル選択時の右下の■を有効にする方法はないでしょうか?

  • セルをダブルクリックで色付け

    よろしくお願いいたします。 excel2000を使用しております。 対象セルをダブルクリックすると指定の色が付くようにしたいのですが そういうものもマクロなどで作れるのでしょうか。 ご教授下さい、お願いします。

  • セルをダブルクリックするだけで●が表示されるように

    エクセル2003にてセルをダブルクリックすると特定の文字「●」が入力されるようにしたいのです。 既出の質問 http://okwave.jp/qa/q915096.html を見て特定のセルは出来るようになったのですが、 それを更にラジオボタンのように動作させたいのです。 具体的には [A1 A2] [A3 A4] [A5 A6] [B1 B2] [B3 B4] [B5 B6] のようにA1A2の結合されているセル、A3A4の結合されているセル、A5A6の結合されているセルの中から一つだけしか●が表示されないようにしたいのです。 しかもそれをダブルクリックだけで… そういったグループがB列、C列とたくさんあるのです。 ラジオボタンで出来るのは知っているのですが、 出来ればラジオボタンを使わずに表示させたいのです よろしくご教授いただければと思います。

  • エクセルでセルをクリックすると“○”と入力

    エクセルでセルをクリック(またはダブルクリック)すると“○”と入力され、もう一度クリックすると空欄に戻るよう設定したいのですが、マクロを使わないとできないのでしょうか?マクロを使用せずセルの設定でもできますか?どちらでできるのでしょうか、またその方法も教えてください。

  • エクセル マクロ ダブルクリックによる設定

    エクセルのマクロについての質問です。 ある特定のセル(”H1:K1”かな?)をダブルクリックすると今日の日付が記入される様になり、また別のセルをダブルクリックするとユーザーフォームが立ち上がる様なマクロを組みたいと考えております。 詳しい方がおりましたら、是非お願いします。

  • excel セルの値のフォルダ作成について

    こんにちは はじめまして エクセルでセルの値のフォルダを任意のフォルダ内に作成したいのですが 色々調べたのですがわかりません。 例えばC行のC3やC4に○○工事と記入 そのセル値をダブルクリックかボタンを押すとフォルダ作成 フォルダをC:¥temp内に作りとすると作ることはできますか? マクロ初心者です 宜しくお願いします

  • エクセルのダブルクリックについて

    エクセルで仕事をしています。前任者から引き継いだシートのセルの内容をダブルクリックすると印刷%レビューの画面になり,印刷範囲も変更になるようなのでこまっています。そのようなマクロか何かがあるのでしょうか?

専門家に質問してみよう