• ベストアンサー

エクセル関係です。セルの位置をずらしたいです。

はじめまして セルの位置をずらしたいです。添付写真をみてください。 黄色のセルが2つあります。 この黄色のセルを一番下に分けたいです。つまり、黄色のセルが下にきて、白のセルは上になるようにしたいです。 量がたくさんあり困っています。簡単に分ける方法を教えてください よろしくおねがいします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.2です! たびたびごめんなさい。 投稿後思ったのですが、No.1さんやNo.3さんの考え方の方が普通ですよね! 当方の解釈の方が異常だと思います。 結論として、No.3さんの方法で簡単に出来ると思います。 もしD列?に色がついていない場合は 条件付き書式 → セルの強調表示ルール → 「指定の値に等しい」 → E-netATM と入力 → 書式から好みの色を選択しOK これで色が付きますので、後はNo.3さんの方法で大丈夫だと思います。 ただ、これでは「他人様のふんどしで相撲を取る」コトになりますので、今回もVBAでやってみました。 操作方法は前回と一緒です。 前回のコードを消去して↓のコードにしてみてください。 Sub Sample2() Dim endRow As Long endRow = Cells(Rows.Count, "A").End(xlUp).Row Application.ScreenUpdating = False Range("A:A").Insert With Range("A1:A" & endRow) .Formula = "=IF(E1=""E-netATM"",2,1)" .Value = .Value End With Range("A1").Sort key1:=Range("A1"), order1:=xlAscending, Header:=xlNo Range("A:A").Delete Application.ScreenUpdating = True End Sub どうも失礼しました。m(_ _)m

godhappy
質問者

お礼

ありがとうございます 感謝します

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>量がたくさんあり困っています。簡単に分ける方法を教えてください 金融機関の取引明細でしょうか? 特定の相手先を下の行に移動したいと言うことであれば区別用の列を使って優先順位を付ければそれをキーにソート(並べ替え)すれば目的通りになります。 作業列=I列 取引先=D列 特定取引先="E-netATM" I2=IF(D2="E-netATM",9,1) I2セルを下へ必要数コピーする。 シート全体を選択した状態でI列を優先キーとして昇順でソートすれば目的通りです。 1行目は見出しとして項目名が有るものと想定しました。

godhappy
質問者

お礼

ありがとうございます 感謝します

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

ご利用のエクセルのバージョンが不明です(画面の画像を折角添付してるのに、肝心の箇所がカットされてて画像から判別する事もできません)が、エクセル2007以降を使って簡単に並べ替えます。 手順: 全体にオートフィルタを設定する 項目列の▼をプルダウンして、「色で並べ替え」を右に開いて「塗りつぶしなし」を選ぶ 以上です。

godhappy
質問者

お礼

ありがとうございます 感謝します

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 普通は黄色の行すべてを「並ぶ替え」とするのが一般的ですが、 質問文通りだとD列(←画像では左から4列目なので)の黄色セルを その列の一番下へ移動という解釈でよいのでしょうか? そういうコトだとしてに一例です。VBAになってしまいますが・・・ データは1行目からあるとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim endRow As Long endRow = Cells(Rows.Count, "A").End(xlUp).Row On Error Resume Next Range("D:D").Replace what:="E-netATM", replacement:="", lookat:=xlWhole Range("D1:D" & endRow).SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp Range("D1:D" & endRow).SpecialCells(xlCellTypeBlanks) = "E-netATM" End Sub 'この行まで ※ 一旦マクロを実行すると元に戻せませんので 別Sheetでマクロを試してみてください。m(_ _)m

godhappy
質問者

お礼

ありがとうございます 感謝します

  • ueshita123
  • ベストアンサー率17% (281/1643)
回答No.1

セルをソート(並べ替え)する http://www.eurus.dti.ne.jp/~yoneyama/Excel/sort.html

関連するQ&A