CELLNETS Excel開発の専門会社

【VBA入門】列の削除を繰り返すならアルファベットじゃなく数値を使用しCellsでLoop


マクロで「列の削除」をすると列番号はアルファベット表現が必要な「Columns」が記録されます。繰り返し処理をしたいので、列番号を数値で指定できたら良いのに。

みなさん、こんにちは。セルネッツ竹本です。

今回は、「列番号を数値にし、複数列の繰り返し削除する」をテーマに、解説をしたいと思います。

列の整理を自動化したい方へ

数百列のデータ整形、まとめて自動化できます

  • 取込データの不要な列を毎回手で削除している
  • 前から削除して列がずれ、結果がおかしくなる
  • フォーマット変更のたびにマクロが動かなくなる

そのお悩み、データ整形の自動化で解決できます。Excel専門のシステム開発会社『セルネッツ』なら、見出し名で不要列を判定して削除する処理を作れます。列の並べ替えや指定フォーマットへの変換も1つのボタンにまとめられます。自作マクロの改修もご相談ください。

\Excel専門特化 × 低価格 × スピード対応/

◆「見出名に”予備”が含まれている列だけ削除したい」こんな時どうする?

サンプルでは、わずか3列なのでプログラムを使うまでもありません。

が、ファイルフォーマットによっては、数100列の中から、不要列だけを削除したいケースがあります。

こんな場合は、必ず後ろから前方向に向かった処理が必要になります。

これが逆だとプログラムは、列番号の変化に対応できないためです。

まずは、マクロ記録の結果を見てみましょう。

◆【H列を削除】したマクロ記録の結果

マクロ記録の結果は、以下のようになりました。

Columns(“H:H”).Select

Selection.Delete Shift:=xlToLeft


操作の工程で、H列を選択したため、プログラム処理では不要な記述「Select」まで一つのアクションとして記録されました。

ここで問題は、列番号がアルファベット表記となっていること。

「これじゃアルファベット変換しないとLoopできない?」

そうですね。

こんなときは、次のようにも表現できるので、試してみましょう。

【Point】Columns(アルファベット)を数値の列番号で置き換えるだけ!

Public P_11Fin列n As Long

‘※※※※※※※※※※※※※※※※※※※
Private Sub B_列を連続削除_Click()
‘※※※※※※※※※※※※※※※※※※※

Dim S_列No As Long

P_11Fin列n = O_11.Cells(1, O_11.Columns.Count).End(xlToLeft).Column 'Fin列基点で左へ

For S_列No = P_11Fin列n To 1 Step -1

    If InStr(Cells(1, S_列No), "予備") > 0 Then

‘(A)以下は、アルファベット列番号で削除する場合、列番号の変換が必要
‘Columns(“H:H”).Delete Shift:=xlToLeft

‘(B)以下なら、数値カウンターが利用できるので、列番号の変換不要!
‘ Columns(S_列No).Delete Shift:=xlToLeft ’

Debug.Print “デバッグ” & vbCrLf & _
“P_11Fin列n= ” & P_11Fin列n & vbCrLf & _
“S_列No = ” & S_列No & vbCrLf & _
“見出し = ” & Cells(1, S_列No) & vbCrLf

    Else
    End If

Next S_列No

End Sub

【注意】上記は、要な削除の部分をコメントアウトしている状態です。
次のデバッグプリントで正しい取得を確認できてからの本番処理とします。

◆Debug.Printしたイミディエイトウィンドウの出力結果

デバッグ

P_11Fin列n= 10

S_列No = 8

見出し = 予備3

デバッグ

P_11Fin列n= 10

S_列No = 7

見出し = 予備2

デバッグ

P_11Fin列n= 10

S_列No = 6

見出し = 予備1

正しく見出しを識別し取得できていますね。
では、実行してみましょう。


無事に、期待値を得ることができました。

今回のテーマは、「列番号を数値にし、複数列の繰り返し削除する」について、解説を行いました。

本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


Excel業務改善事例ショート動画

文章だけでは伝わりにくい改善事例を、ショート動画でご覧いただけます。

◆よくある質問 ◆Excel業務改善の実例 ◆VBA・マクロ活用事例

相見積もり歓迎

データ変換ツールは8万円〜が目安です

  • データ変換は8万円〜(税別・基本料金込み)
  • 複数フォーマットの変換は20万円〜
  • 自作マクロのレビューや改修だけでも可

列の削除や並べ替えなどのデータ変換は8万円〜、取引先ごとに形式が違う複数フォーマット変換は20万円〜が参考価格です(税別・基本料金込み)。相見積もりも歓迎です。Excelで扱うには重すぎるデータ量なら、正直にお伝えします。

\Excel専門特化 × 低価格 × スピード対応/

無料見積もり・お問い合わせはこちら

全国対応・お見積もり無料

Excel業務改善事例ショート動画よくある質問など公開中

関連記事

Excelシステム開発

Excelを複数人で共同編集できるExcel for the webとは?Excelオンラインの共有手順と業務改善事例

更新日:2026年10月9日

Excelシステム開発

システム開発の依頼ガイド|費用相場・流れ・会社の選び方と「作りすぎない」判断軸

更新日:2026年9月24日

Excelシステム開発

予約システムの開発依頼にかかる費用相場|小規模店舗は100万円以下で作れる

更新日:2026年9月24日

Excelシステム開発

CRMシステム開発の外注費用は?依頼先の選び方と100万円以下に抑える考え方

更新日:2026年9月24日

Excelシステム開発

勤怠管理システム開発の外注費用相場|100万円以下で作る方法とプラン別料金【2026年版】

更新日:2026年9月24日

Excelシステム開発

SFAシステム開発の依頼相場は?高額SaaSに払い続ける前に知るべき「安く作る」現実解

更新日:2026年9月24日

Excelシステム開発

業務システム開発の依頼はいくら?費用相場と「100万円以下」で頼む方法

更新日:2026年9月24日

Excelシステム開発

受発注システム開発の費用相場は?外注料金の内訳と安く抑える方法を解説

更新日:2026年9月24日

Excelシステム開発

販売管理はエクセルで十分?売上管理表・発注管理表の作り方と「限界」の乗り越え方

更新日:2026年10月9日

newsite