• 締切済み

隣列に合わせて、セルを消すには?

図のようにA列の空白を消したいのですが、 それに合わせて隣以降の同じ行をマクロなどで一気に消す方法はありますでしょうか?

みんなの回答

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

A列とB列のデータを残して行いたいのであればほかの列に 一旦コピーをして並べ替えで数値の入っているセルをかためてから 列指定をしてから編集→ジャンプ→セル選択→空白セルで指定して 上方向にシフトで空白を削除してはどうでしょうか。

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

こんばんは! 一例です。 配列数式になりますので、データ量が多い場合はあまりおススメできません。 ↓の画像でA列は数値だということでの方法です。 (文字列が含まれているのであれば、COUNTの部分をCOUNTAに変更してみてください。) とりあえず100行目まで対応できる数式です。 D1セルに =IF(COUNT($A$1:$A$100)<ROW(A1),"",INDEX(A$1:A$100,SMALL(IF($A$1:$A$100<>"",ROW($A$1:$A$100)),ROW(A1)))) として、Shift+Ctrl+Enterキーで確定です。 もしこの画面からコピー&ペーストするのであれば、貼り付け後、 F2キーを押す、又は数式バー内で一度クリック、又はD2セルでダブルクリックします。 編集可能になりますので、Shift+Ctrl+Enterキーで確定です。 数式の前後に{ }マークが入り配列数式になります。 そして、D2セルを列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 以上、長々と書きましたが 参考になれば幸いです。m(__)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A1セルを選択してから「ホーム」タブから「並べ替えとフィルタ」で「昇順」を選ぶことでA列が空白の行が下方に並びますのでそれを削除してはどうでしょう。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

マクロの例です。 Dim myRng As Range Dim i As Long Set myRng = Range("A1", "A" & Range("C" & Rows.Count).End(xlUp).Row) Set myRng = myRng.SpecialCells(xlCellTypeBlanks) For i = myRng.Areas.Count To 1 Step -1 myRng.Areas(i).Resize(, 3).Delete Next i

sifon-cake
質問者

お礼

ご親切にありがとうございます^^ 大変感謝しております!

関連するQ&A