人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAの質問です。行削除のマクロは多数検索できるのですが、列削除のマクロがなかなかヒットしません。2列ごとに2列削除(最初の削除はコラムCとDになります)を削除するマクロをどなたかご教授いただけないでしょうか。そのまま使えるマクロをご提供くださった方にお気持ちですが、500ポイント差し上げたいと思います。宜しくお願いいたします。

●質問者: tororosoba
●カテゴリ:コンピュータ
✍キーワード:VBA エクセル コラム ポイント マクロ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● jccrh1
●500ポイント

次のマクロでできるかと思います。

とりあえず10*2列分削除です。

Sub 列削除()
 Dim 削除列 As Range
 Set 削除列 = Range("C:D")
 For I = 1 To 9
 Set 削除列 = Union(削除列, Range("C:D").Offset(0, I * 4))
 Next I
 削除列.Delete
End Sub
◎質問者からの返答

早々にご連絡いただきまして有難うございました。希望通りの結果になりました!


2 ● HALSPECIAL
●300ポイント

C1のセルをアクティブにした状態で、次のマクロを実行してください。


Option Explicit

Sub DeleteColumns()
 
 Do Until ActiveCell.Value = ""
 Range(ActiveCell, ActiveCell.Offset(0, 1)).EntireColumn.Select
 Selection.Delete Shift:=xlToLeft
 ActiveCell.Offset(0, 2).Activate
 Loop
 
End Sub

<|
◎質問者からの返答

有難うございました。申し訳ありませんが、一番最初にご提供いただいた方へ500ポイント差し上げることになります。


3 ● ken3memo
●300ポイント

マクロ記録してみました。( http://www.ken3.org/vba/excel-help.html )

Option Explicit

Sub Macro1() 'マクロ記録してみた。

'

' Macro1 Macro

' マクロ記録日 : 2009/7/11 ユーザー名 : kk2009

'

'

Columns("C:D").Select

Application.CutCopyMode = False

Selection.Delete Shift:=xlToLeft

Columns("E:F").Select

Selection.Delete Shift:=xlToLeft

Range("G7").Select

End Sub

Sub CUT_CD_EF() 'マクロ記録を元に Columns("列:列").Delete しただけ。

Columns("C:D").Delete '削除すると列が詰まる

Columns("E:F").Delete 'ので、左から消すとわかりにくいかも。

End Sub

Sub CUT_GH_CD() '右から消したほうが、左に詰まっても影響が少ないのでは?

Columns("G:H").Delete '初めGHを削除

Columns("C:D").Delete '最後にCDを削除

End Sub

なんか、変だなぁと思いつつ、こんな感じです。。。

外していたらスミマセン。

◎質問者からの返答

有難うございました。いつもウェブサイト拝見させていただいております。申し訳ありませんが、一番最初にご提供いただいた方へ500ポイント差し上げることになります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ