• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel 空白列を削除)

Excelで空白列を削除する方法

このQ&Aのポイント
  • Excelで空白列を削除する方法について教えてください。
  • 削除した際に左側の番号と関数を残したまま、表の列数は維持したまま空白列を削除する方法を教えてください。
  • 削除した際に一番左の番号まで削除されてしまう問題を解決しながら、空白列を削除する方法を教えてください。

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

  • ベストアンサー
  • aokii
  • ベストアンサー率23% (5210/22063)
回答No.1

名前順に並べ替えてから、空白列の番号全てに1000を足して、番号順に並べ替えてみて下さい。

airtrek1987
質問者

お礼

ご回答ありがとうございます! まさかこんな技があったとは・・・ ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.3

>実行してみたところ、一番左の番号まで削除されてしまい、 >飛び飛びの番号になってしまいました。 番号を振り直したら? そのほうが絶対に早いと思います。 まあ、1行消しただけで波状するような関数を直すほうが先のような気もしますが・・・。

airtrek1987
質問者

お礼

ご回答ありがとうございます! 番号振り直しも検討しましたが、 このファイルを操作するのが自分だけではないため、 自動的にしたい次第です。

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! VBAになってしまいますが、一例です。 >加えて、100列目まで関数を入れているため 質問文ではそんなに列数はないように思われますので「100行目」だという解釈です。 (100行限定ではく、A列の番号が入力してある行すべてを対象としてました。 配置は↓の画像のようになっているとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, j As Long, lastRow As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row Application.ScreenUpdating = False For i = lastRow To 2 Step -1 If Cells(i, "B") = "" Then Cells(i, "B").Resize(, 5).Delete shift:=xlUp End If Next i For j = 2 To 6 i = Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, j).HasFormula Then Range(Cells(i, j), Cells(lastRow, j)).FillDown Else Cells(i, j).AutoFill Destination:=Range(Cells(i, j), Cells(lastRow, j)), Type:=xlFillFormats End If Next j Application.ScreenUpdating = True End Sub 'この行まで ※ B列が空白の場合、B~F列を削除 → 上側にシフト → 最後に数式と書式を最終行までフィルしています。m(_ _)m

airtrek1987
質問者

お礼

ご回答ありがとうございました! PC初心者の自分には少しばかりハードルが高いようです。 力不足ですいませんが、ありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A