ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

ホーム > コミュニティ > PC、インターネット > Excel(エクセル)活用 > トピック一覧 > クリックしたセルをデータごとA...

Excel(エクセル)活用コミュのクリックしたセルをデータごとA1に移動する方法

  • mixiチェック
  • このエントリーをはてなブックマークに追加

コミュ内全体

任意のセルをクリックするとそのセルがデータごとA1に移動する方法はありますか?クリックしたセルを常に1行目に移動させたいんです。

A10をクリックすると上からA10、A1、A2となり、その後A5をクリックするとA5、A10、A1、A2となる感じです。
更に詳しく言うと、それぞれのセルにハイパーリンクがあり、A10のハイパーリンクをクリックするとリンク先へ飛ぶと同時に、元のsheetでの並び順がA10、A1、A2になるという状態にです。同時が難しいならセルだけ(中のデータも)の移動だけでも結構です。

勤務先で使用しているのは2010ですが、自宅で使用しているのはキングソフト2013なので上手く動作しないかも知れないため、何となくで結構です。海千山千のExcel使いのアナリストの皆様方よろしくお願いします。

コメント(6)

1.セル選択した状態でマクロ記録開始
2.ホームタブ→切り取り
3.A1セルを選択し右クリック→切り取ったセルを挿入
4.マクロ記録終了
5.適当なボタンを作成し作成したマクロを割り当て
>任意のセルをクリックするとそのセルがデータごとA1に移動する方法はありますか?
マクロ(VBA)なら可能ですね

>A10のハイパーリンクをクリックするとリンク先へ飛ぶと同時に、元のsheetでの並び順がA10、A1、A2になるという状態にです。
Worksheet_SelectionChangeイベントでマクロを実行するようにすれば出来るはずです。

マクロの流れとしては以下のような感じですかね
1. A1セルが選択されたときは上に移動する必要はないため
  SelectしたセルがA2:A10の範囲にあるか確認→範囲外ならマクロ終了
2. Selectされたセルを切り取り
3. A1セルに切り取ったセルを挿入
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("A2:A20")) Is Nothing Then Exit Sub

Target.Cut
Range("A1").Insert Shift:=xlDown

End Sub
時間ができた時にキングソフトと勤務先Excelでやってみたいと思います。できなかった際はまた質問させてください。

MILANO様、マリ男様、ミスキタ様、回答ありがとうございました。
>>[4]

上記の回答はどれもほぼ同じですが、KINGSOFT Spreadsheets ではできないと思いますので、会社の Excel で試してみてください。
イベントの記述場所さえ分かっていれば間違いなく動作すると思います。
>>[5]

[開発]⇒[VB]⇒[設定したいsheetを右クリック]⇒[コードの表示]⇒[コード貼り付け]⇒[保存]

挙動確認まで時間を要しましたができました。
会社のExcelで行う前に自宅で挙動を確認してみようと「Kingsoft Office(VBA対応版)」に日本語フォルダ入れて使えるか探しましたが有料版しかなく断念。Libreofficeでは独自のコードでVBA使用不可のため断念。そしていざ会社のExcelでやってみたが反応なし。おかしいなと思ったらsheetの左ぎちぎちに詰めるのが嫌でA列を細めの列で作っていたからでした。AをBに置き換えたらちゃんと動きました。

最初、クリックせずC列にあるアクティブなセルをB列に移動した瞬間にB1へ移動した時はビクッとしましたが、希望通りの挙動で満足です。他お二方もありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。